Essa API tem como objetivo o gerenciamento backend de um site de filmes utilizando tecnologias como Nest, Typescript, Docker, Redis entre outras tecnologias
Conforme os requisitos de tecnologia do projeto, também comentei o tempo de experiência com cada stack
Fluxo de Usuarios: Acesse atravé da rota /users
-
Cadastrar um novo usuario
-
Cadastrar novo usuário
-
Listar todos os usuários
-
Listar um usuário específico
-
Editar um usuário
-
Excluir usuário
Fluxo de Login: Acesse através da rota /login
- Realizar Login no sistema
Fluxo de Filmes: acesse através da rota /films
Rotas que necessitam login no sistema
- Cadastrar novo filme
- Listar todos os filmes
- Listar um filme específico
- Editar um filme
- Excluir filme
Utilizei o Redis para realizar o cache e aumentar peformance da aplicação
Obs: configurei o redis com o tempo armazenamento chave/valor de 1 hora
O projeto foi documentado com Swagger, acesse a rota /api para ver as rotas que a aplicação possui
obs: o arquivo Insomnia_2023-11-27.json presente na raiz do projeto pode ser carregado no Insomnia com as rotas e valores também prontos para realizar as requisições
Para executar o projeto sua máquina deve satisfazer os requisitos abaixo.
Pré-requisitos
- node v18.16.0
- npm v9.5.1
- git version v2.34.1
Digite o comando abaixo para clonar o projeto.
git clone https://github.com/TiagoEmanuel8/api-cine-control.git
Entre na pasta
cd api-cine-control
Crie um arquivo .env na raiz do projeto e preencha com os valores
Obs: na raiz do projeto existe um modelo pré pronto contendo nomes das variáveis de ambiente necessárias para o projeto funcionar corretamente
Clique para exibir os detalhes
docker-compose up -d
use o comando:
npm start
ou
npm run start:dev
docker-compose down --rmi local --volumes --remove-orphans
Clique para exibir os detalhes
npm install
npm start
ou
npm run start:dev