https://github.com/odevthomas/api_social_media
Este projeto é um backend para uma rede social simples, onde os usuários podem se registrar, autenticar, criar postagens e visualizar suas informações. Construído com Node.js e MongoDB, o sistema utiliza JSON Web Token (JWT) para autenticação e Bcrypt para o hash das senhas.
https://github.com/odevthomas/api_social_media
api-rest json postman
Last synced: 8 months ago
JSON representation
Este projeto é um backend para uma rede social simples, onde os usuários podem se registrar, autenticar, criar postagens e visualizar suas informações. Construído com Node.js e MongoDB, o sistema utiliza JSON Web Token (JWT) para autenticação e Bcrypt para o hash das senhas.
- Host: GitHub
- URL: https://github.com/odevthomas/api_social_media
- Owner: odevthomas
- Created: 2024-09-21T22:10:24.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-09-21T22:42:55.000Z (over 1 year ago)
- Last Synced: 2025-03-03T23:24:05.653Z (12 months ago)
- Topics: api-rest, json, postman
- Homepage:
- Size: 4.29 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rede Social - Backend

## Descrição
Este projeto é um backend para uma rede social simples, onde os usuários podem se registrar, autenticar, criar postagens e visualizar suas informações. Construído com Node.js e MongoDB, o sistema utiliza JSON Web Token (JWT) para autenticação e Bcrypt para o hash das senhas.
## Tecnologias Utilizadas
- **Node.js**
- **Express.js**
- **MongoDB** (com Mongoose)
- **JSON Web Token (JWT)**
- **Bcrypt** para segurança de senhas
## Pré-requisitos
Antes de começar, você precisará ter o seguinte instalado em sua máquina:
- [Node.js](https://nodejs.org/) (versão 14 ou superior)
- [MongoDB Atlas](https://www.mongodb.com/atlas/database) ou uma instalação local do MongoDB
- [npm](https://www.npmjs.com/) (gerenciador de pacotes do Node)
## Instalação
1. **Clone o repositório:**
```bash
git clone
cd social_media
```
2. **Instale as dependências:**
```bash
npm install
```
3. **Configuração do arquivo `.env`:**
Crie um arquivo `.env` na raiz do projeto com as seguintes variáveis:
```
MONGODB_URI=
JWT_SECRET=
PORT=3000
```
4. **Inicie o servidor:**
```bash
npm start
```
## 🗂 Estrutura do Projeto
```
social_media/
├── db.js
├── models/
│ ├── posts.js
│ └── users.js
├── routes/
│ ├── posts.js
│ └── users.js
├── middleware/
│ └── auth.js
├── server.js
└── .env
```
## Rotas da API
### Usuário
- **POST /api/register**: Cria um novo usuário.
- **POST /api/authenticate**: Autentica um usuário e retorna um token JWT.
- **GET /api/user**: Retorna as informações do usuário autenticado.
### Postagem
- **POST /api/posts**: Cria uma nova postagem.
- **DELETE /api/posts/:id**: Exclui uma postagem por ID.
## Autenticação
Utilizamos JWT para autenticação. O token gerado durante o processo de login deve ser incluído nos cabeçalhos das requisições que requerem autenticação.
## Testes
Utilize ferramentas como [Postman](https://www.postman.com/) ou [Insomnia](https://insomnia.rest/) para testar as rotas da API. Não se esqueça de incluir o token JWT nas requisições que necessitam de autenticação.
## Contribuição
Sinta-se à vontade para contribuir! Abra um pull request ou crie uma issue para sugestões e melhorias.
## 📄 Licença
* Este projeto é de domínio público. Sinta-se à vontade para usar e modificar conforme necessário.