https://github.com/bc-fullstack-03/alan-franco-backend
https://github.com/bc-fullstack-03/alan-franco-backend
docker-compose dockerfile java maven mongodb spring-boot
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bc-fullstack-03/alan-franco-backend
- Owner: bc-fullstack-03
- Created: 2023-04-29T21:39:30.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-09T11:00:55.000Z (about 3 years ago)
- Last Synced: 2025-01-08T08:40:44.793Z (over 1 year ago)
- Topics: docker-compose, dockerfile, java, maven, mongodb, spring-boot
- Language: Java
- Homepage:
- Size: 116 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Projeto de Backend para Redes Sociais
Este projeto é um servidor backend para uma API de redes sociais, construído usando Java, Spring Boot, MongoDB e executado utilizando docker.




## Funcionalidades
- Cadastro de novos usuários
- Criar, ler, atualizar e deletar publicações
- Criar, ler e deletar comentários em publicações
- Curtir/Descurtir publicações
- Seguir outros usuários
## Pré-requisitos
- Docker
## Getting Started
1. Clone o repositório:
```
git clone https://github.com/bc-fullstack-03/Alan-Franco-Backend.git
```
2. Navegue até o diretório do projeto:
```
cd Alan-Franco-Backend
```
3. Construa a imagem Docker:
```
docker build -t alan-franco-sysmap-backend .
```
4. Execute o projeto com o Docker Compose:
```
docker-compose up
```
5. Execute o seguinte comando no terminal para poder registrar usuários:
```
docker exec -it alan-franco-backend-mongo mongosh --authenticationDatabase admin social_media_db --eval "db.roles.insertMany([{ name: 'USER' },{ name: 'MODERATOR' },{ name: 'ADMIN' }])"
```
O servidor deve estar em execução em `http://localhost:8080/api`.
## Endpoints da API
- Cadastro de usuários: `POST /api/users/register`
- Obter todas as publicações: `GET /api/posts`
- Publicação - Criar Nova: `POST /api/posts`
- Publicação - Obter por ID: `GET /api/posts/{postid}`
- Publicação - Atualizar por ID: `PUT /api/posts/{postid}`
- Publicação - Deletar por ID: `DELETE /api/posts/{postid}`
- Feed - Posts recentes de quem você segue: `GET /api/foryou`
- Feed - Posts feitos por você: `GET /api/home`
- Feed - Posts feitos por usuário com ID: `GET /api/{userid}`
- Comentário - Criar: `POST /api/posts/{postid}/comments`
- Comentário - Deletar: `DELETE /api/posts/{postid}/comments/{commentid}`
- Likes/Deslikes em publicações: `POST /api/posts/{postid}/like`
- Seguir - Seguir usuários por id: `GET /api/users/{userid}/follow`
## Licença
Este projeto está licenciado sob a Licença MIT. Consulte [MIT](https://choosealicense.com/licenses/mit/) para obter mais informações.
## Imagens do projeto
⌛ Loading...