Renato1478 / spacex-launches-backend

Este repositório é sobre um desafio para a Coodesh que testa minhas habilidades como Fullstack Developer. Trata-se de um aplicativo para listar informações da SpaceX-API.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SpaceX API Challenge

Este é o repositório do backend da minha solução para o desafio Fullstack SpaceX API. Ele alimenta uma aplicação web que exibe informações atraentes sobre os lançamentos de foguetes da SpaceX. Para ver as instruções do desafio original, consulte README.

Para ver a apresentação do projeto em vídeo clicke aqui.

Back-End

Tecnologias Utilizadas

  • Node.js (Fastify) para criar a API Restful
  • Postgres para armazenar os dados dos lançamentos
  • Node-cron para agendamento de tarefas diárias de sincronização de lançamentos
  • Swagger para documentação da API
  • Docker e Docker-Compose para facilitar o deploy
  • Testes unitários com Vitest

Como instalar e executar o projeto

  1. Clone o repositório:
git clone https://github.com/Renato1478/coodesh-spacex-backend
  1. Navegue para o diretório do projeto:
cd pasta/de/destino/do/projeto
  1. Inicie os containers
docker compose up
  1. Copie o conteúdo do arquivo .env.example para um novo chamado .env
cp .env.example .env

Aplicação

Para iniciar a API (em modo desenvolvimento), execute:

npm run dev

Ao finalizar o processo de inicialização do container, a aplicação estará disponível em http://localhost:3333.

CRON

Foi utilizada a biblioteca node-cron para a importação dos dados da SpaceX.

Testes

O projeto inclui testes unitários para as rotas da API. Você pode executar os testes usando o seguinte comando na pasta do servidor:

npm run test

This is a challenge by Coodesh

About

Este repositório é sobre um desafio para a Coodesh que testa minhas habilidades como Fullstack Developer. Trata-se de um aplicativo para listar informações da SpaceX-API.


Languages

Language:TypeScript 100.0%