Uma plataforma completa de blog que permite aos usuários autenticarem-se via OAuth 2.0 ou email/senha, criar e gerenciar posts, e interagir com outros usuários. O projeto foi desenvolvido com ASP.NET Core e Angular, com o intuito de permitir que os usuários compartilhem suas ideias.
- Autenticação de Usuários: OAuth 2.0 com Google ou login com email/senha.
- Feed de Posts: Algoritmo de recomendação baseado em tags para feeds personalizados.
- Perfis de Usuário: Visualizar e editar perfis, incluindo posts e detalhes pessoais.
- Operações CRUD: Criar, visualizar, editar e deletar posts e comentários.
- Pesquisar: Buscar usuários e posts por palavras-chave.
- Editar Conta: Alterar detalhes da conta como nome, email e imagem de perfil.
- Comentários: Adicionar, editar e deletar comentários em posts.
- Cache de Posts: Utilização de Redis para cachear o feed de posts, melhorando a performance.
- Backend: .NET 8, ASP.NET Core, C#
- Frontend: Angular, Tailwind CSS
- Banco de Dados: PostgreSQL
- Cache: Redis para cachear o feed de posts
- Autenticação: OAuth 2.0, Cookies para gerenciamento de sessões
- Armazenamento de Imagens: Azure Blob Storage para imagens de perfil e postagens
- Deploy:
- Backend: Docker + Azure DevOps
- Banco de Dados: Docker + PostgreSQL
- Frontend: Vercel
Para configurar o projeto localmente, siga os passos abaixo:
- .NET 8 SDK
- Node.js (Para o Angular)
- Redis
- Docker
-
Clone o repositório:
git clone https://github.com/EduardoKroetz/Bloggig.git
-
Navegue até o diretório
backend
:cd backend
-
Configure a string de conexão do banco de dados no arquivo
appsettings.json
:"ConnectionStrings": { "RedisConnection": "localhost:6379" "DefaultConnection": "Sua string de conexão do postgreSQL aqui" }, "Google": { "ClientId": "Seu ClientId do Google para autenticação OAuth", "ClientSecret": "Seu ClientSecret do Google para autenticação OAuth" }, "FrontendUrl": "http://localhost:4200", "Azure": { "BlobStorageConnectionString": "Sua string de conexão do Azure Blob Storage", "BlobProfileImagesContainerName": "bloggig-profile-images-container", "BlobPostsThumbnailContainerName": "bloggig-posts-thumbnail-container", "BlobFileServiceUrl": "sua-conta-de-armazenamento-na-azure" }
-
Execute o projeto:
dotnet run
-
Navegue até o diretório
frontend
:cd frontend
-
Instale as dependências:
npm install
-
Execute o servidor de desenvolvimento:
npm run start
- Acesse a página de login: Bloggig
- Crie uma conta usando OAuth do Google ou faça o cadastro com email e senha.
- Comece a criar, editar e deletar posts e comentários.
- Pesquise por outros usuários e explore seus perfis.
Confira a versão ao vivo da aplicação: Bloggig Deploy