Este é um projeto de backend que consiste em construir a API do Tweteroo, um clone do Twitter. Ele oferece recursos para criar e visualizar tweets, fazer login e realizar operações relacionadas a usuários.
- NestJS - Um framework para construção de aplicativos Node.js.
- Git - Versionamento de código.
- GitHub - Repositório público do GitHub para o código do backend.
- Jest - Framework de teste.
- Postman - Ferramenta para testes de API.
- npm - Gerenciador de pacotes JavaScript.
- Visual Studio Code - Editor de código.
-
Cadastro de Usuário: Rota
POST /sign-up
para cadastrar um usuário com nome de usuário e avatar. -
Criação de Tweets: Rota
POST /tweets
para criar tweets associados a um usuário. -
Listagem de Tweets: Rota
GET /tweets
para listar os 15 últimos tweets publicados. Suporta paginação via query string?page=1
. -
Listagem de Tweets por Usuário: Rota
GET /tweets/:username
para listar todos os tweets de um usuário específico.
Certifique-se de ter instalado o Node.js e o NestJS em sua máquina. Além disso, você precisa configurar um banco de dados (variáveis globais em memória) para armazenar os usuários e tweets.
- Clone este repositório:
git clone https://github.com/seu-usuario/tweteroo-backend.git
- Acesse a pasta do projeto:
cd tweteroo-backend
- Instale as dependências:
npm install
Para armazenar os dados dos usuários e tweets, configure variáveis globais em memória na camada de serviço. Certifique-se de seguir as especificações do projeto.
Execute o servidor NestJS com o seguinte comando:
npm run start
O servidor estará disponível em http://localhost:3000 (porta padrão do NestJS).
Certifique-se de que todos os testes de integração passam antes de implantar seu aplicativo. Substitua o conteúdo da pasta test/ pelo fornecido e execute os testes com o seguinte comando:
npm run test:e2e
Sinta-se à vontade para contribuir com melhorias para este projeto. Crie um fork do repositório, faça suas alterações e envie uma solicitação de pull.
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.