O back-end do projeto Cine Drive-in de Brasília é responsável por gerenciar a lógica de negócios, a comunicação com o banco de dados MongoDB e o armazenamento de imagens no Amazon S3. Ele fornece uma API para suportar as funcionalidades dos front-ends (web e admin).
Features • Pré-requisitos • Rodando a aplicação • Estrutura do Projeto • Tecnologias
- Autenticação e autorização de usuários
- Gerenciamento de pedidos
- Gerenciamento de estoque
- Upload de imagens para o Amazon S3
- Manipulação de dados no MongoDB
- APIs RESTful para comunicação com front-ends
- Validação de dados
- Tratamento de erros
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js e um editor de código como VSCode.
Além disso, você precisará de uma conta na AWS para utilizar o Amazon S3 e uma instância de banco de dados no MongoDB.
# Clone este repositório
$ git clone https://github.com/leoFagundes/cine-drivein-backend.git
# Acesse a pasta do projeto no terminal/cmd
$ cd cine-drivein-backend
# Esse projeto utiliza a versão 18.18.0 do Node.js. Garanta que você tenha o NVM instalado e utilize o comando abaixo para usar a versão correta:
$ nvm install 18.18.0
$ nvm use 18.18.0
# Instale as dependências
$ npm install
# Configure as variáveis de ambiente
# Crie um arquivo .env na raiz do projeto com as seguintes informações:
# PASSWORD_DB_CONNECTION=<senha usada para se conectar ao banco de dados MongoDB>
# PORT=<porta de conexão>
# ACCESS_KEY_ID=<chave de acesso pública da sua conta AWS>
# SECRET_ACCESS_KEY=<chave de acesso secreta da sua conta AWS>
# AWS_REGION=<região da AWS onde seus recursos estão hospedados >
# Execute a aplicação
$ npm run dev
# O servidor iniciará na porta:PORT - acesse <http://localhost:PORT>
cine-drivein-backend
├── src
│ ├── controller
│ ├── models
│ ├── routes
│ ├── services
│ ├── configs
│ └── app.js
├── .env
├── .gitignore
├── .nvmrc
├── package.json
├── server.js
└── README.md
- src/controllers: Contém os controladores da aplicação, responsáveis por gerenciar as requisições e respostas.
- src/models: Contém os modelos do MongoDB.
- src/routes: Contém as definições de rotas da API.
- src/services: Contém a lógica de negócios e comunicação com serviços externos, como o S3.
- src/configs: Contém funções de configuração como a conexão com o banco de dados.
- src/app.js: Arquivo principal da aplicação, onde o servidor é configurado e iniciado.
As seguintes ferramentas foram usadas na construção do projeto: