API utilizando as seguintes tecnologias:
- TypeScript
- Node.js
- Express.js
- MongoDB
- Docker
- Argon2
- JWT
- Node-cron
- Axios & Axios-retry
- Mongoose
- Zod
Há também um link em produção para testes: https://south-americans-api.up.railway.app/api/v1/
A South American Universities API é uma interface de programação de aplicativos que permite visualizar, criar, editar e excluir informações sobre universidades no continente sul-americano. Com essa API, os desenvolvedores podem obter acesso a um extenso conjunto de dados sobre instituições de ensino superior globalmente, permitindo a criação de aplicativos, sites e serviços relacionados a universidades.
- Visualização de informações detalhadas sobre universidades, como nome, país, domínios e mais.
- Possibilidade de criar novos registros de universidades no banco de dados.
- Edição dos dados existentes para manter as informações atualizadas.
- Exclusão de universidades caso não sejam mais relevantes.
Antes de iniciar a instalação e configuração da API, certifique-se de atender aos seguintes requisitos:
- Docker
- Docker Compose (ou Docker-Compose)
Siga as etapas abaixo para instalar e configurar o projeto:
- Clone o repositório do GitHub:
git clone git@github.com:rafhaeldeandrade/node-api-south-american-universities.git
- Navegue até o diretório raiz do projeto:
cd node-api-south-american-universities
- Renomeie o arquivo .env.example para .env.
- Edite o arquivo .env e atualize as variáveis de ambiente conforme necessário:
PORT=4000
MONGO_URL=URL_do_banco_de_dados
MONGO_DB_NAME=nome_do_banco_de_dados
-
Caso tenha iniciado o projeto com
make dev
, altere a propriedade MONGO_URL paramongodb://mongodb
-
Execute o seguinte comando para iniciar o projeto em ambiente de desenvolvimento:
make dev
A API oferece os seguintes endpoints para universidades:
- GET /universities: Retorna a lista de todas as universidades cadastradas.
- GET /universities/{id}: Retorna os detalhes de uma universidade específica com base no ID fornecido.
- POST /universities: Cria uma nova universidade com base nos dados enviados no corpo da requisição.
- PUT /universities/{id}: Atualiza os dados de uma universidade específica com base no ID fornecido.
- DELETE /universities/{id}: Remove uma universidade específica com base no ID fornecido.
Para teste apenas:
- POST /signup: Cria uma nova conta de usuário com base nos dados enviados no corpo da requisição
- POST /login: Autentica com sua conta previamente criada
- POST /change-password: Altera a senha da conta previamente criada
Para executar os testes automatizados, siga as etapas abaixo:
- No terminal, execute o seguinte comando:
make test
- Aguarde a finalização dos testes e verifique se todos os casos foram executados com êxito.
Acesse a documentação online do projeto: Link aqui