Festival

Projeto

SARAH BERNARDINO

Festival

MINHA HISTÓRIA

apresentação

🌈 Apresentação

Este é o projeto de conclusão do bootcamp de back-end da Turma On22 da {Reprograma}.

Este projeto é uma API com CRUD completo que contém um banco de dados e Autenticação. Possui a intenção de cadastrar Danças que estão no portifólio do festival que facilita a visualização da quantidade de bailarinas, descrição das danças.

Funcionalidades

Para as danças


✔️ Cadastrar novas danças

✔️ Listar todas as danças

✔️ Visualizar uma dança específica pelo ID

✔️ Atualizar uma dança específica pelo ID

✔️ Remover uma dança específica pelo ID do banco de dados

Para os cadastros


✔️ Cadastrar novos usuários.

✔️ Listar todos os cadastros.

✔️ Login adicionando usuario e senha.

✔️ Remover um cadastro específico pelo ID no banco de dados.


🏗️ Arquitetura MVC


  📁 festival_API   
  |       
  |-  📁 node_modules
  |-  📁 Swagger    
  |         |- 📄 swagger_output.json   
  |-  📁 src  
  |    |- 📁 database  
  |         |- 📄 bdConnect.js    
  |    |- 📁 controllers   
            |- 📄 cadastroController.js 
  |         |- 📄 dancaController.js     
  |    |- 📁 models  
            |- 📄 cadastroModel.js
  |         |- 📄 dancaModel.js  
  |    |- 📁 routes  
            |- 📄 cadastroRoutes.js
  |         |- 📄 dancaRoutes.js     
  |         
  |    |- 📄 app.js  
  |-  📁 test 
  |         |- 📄 danca.test.js 
  |           
  |-  📄 .env
  |-  📄 .env.example 
  |-  📄 .gitignore 
  |-  📄 package-lock.json   
  |-  📄 pakage.json 
  |-  📄 README.md 
  |-  📄 server.js
  |-  📄 Swagger.js
  |-  📁 material    

📦 Dependências e Tecnologias


Base do projeto


Controle de versões: 
Git/GitHub

Editor de código - IDE:
VSCode

Desenvolver o back-end em Javascript:
Nodejs

Instalações iniciais


Package.json em JS:
npm init -y

Express, cors e node_modules:
npm i express cors
versão
├── express@4.18.2
├── cors@2.8.5

Nodemon:
npm i -D nodemon
versão
├── nodemon@3.0.1

Banco de dados


Mongoose:
npm i mongoose
versão
├── mongoose@7.3.2

Autententicação


Jwt:
npm install jsonwebtoken -- save
versão
├── jsonwebtoken@9.0.1

Bcrypt:
npm install bcrypt -- save
versão
├── bcrypt@5.1.0

Variaveis de ambiente


Dotenv:
npm install dotenv-safe -- save
versão
├── dotenv@16.3.1

Testes


Jest:
npm install --save jest
versão
├── jest@29.6.1

Documentação


Swagger:
npm i swagger-autogen swagger-ui-express
versão
├── swagger-autogen@2.23.5
└── swagger-ui-express@5.0.0

🔒 Variáveis de Ambiente


Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env

`PORT=NUMERO_PORTA`    
`DATABASE_URI=CONEXÃO_COM_MONGO_SEM_ASPAS` 
`SECRET=CHAVE_HASH_SEM_ESPAÇO`

📌 Rotas - EndPoint


📢 Todas as rotas existentes neste projeto:

  • Dança
Verbo EndPoint Descrição da Rota Status Auth
POST /add Adicionar uma nova dança 201
GET /all Listar todas as danças 200
GET /:id Mostrar as danças pelo ID 200
DELETE /:id Remove uma dança 200 ✔️
PATCH /:id Altera a dança 200

- Cadastro
Verbo EndPoint Descrição da Rota Status Auth
POST /add Adicionar uma novo usuário 201
GET /all Listar todas as danças 200 ✔️
POST /login login: email e senha 200
DELETE /:id Remove uma dança pelo ID 200 ✔️


PROTEÇÃO Para testar via Postman, passar token no header de autenticação $ Token


📚 Documentação da API


📝Swagger

📝Render

Instalação e Contribuição no projeto


  1. Faça um fork do projeto.
  2. Realize o clone do projeto através do git clone <link_do_fork_do_repositorio>
  3. Crie uma nova branch com as suas alterações: git checkout -b minha-branch
  4. Instale as dependências necessárias à execução da API através do comando npm install
  5. Salve as alterações e crie uma mensagem de commit contando o que você fez: git commit -m "feature: Minha contribuição"
  6. Envie as suas alterações: git push origin minha-branch

🗺️ Referências



❤️ Agradecimentos


Gostaria de aproveitar esta oportunidade para agradecer a todas vocês pelo trabalho duro e dedicação com o Bootcamp de Back-End. O esforço e compromisso de todas foram fundamentais para o sucesso do meu projeto Festival_API.

Sou especialmente grata a Mayhhara por sua liderança e orientação. Seu conhecimento e experiência foram inestimáveis para o meu projeto.

Também gostaria de agradecer a Andreza por seu apoio. Você criou um ambiente positivo e produtivo para todos nós trabalharmos.

Ju, agradeço seu apoio e orientação. Sua ajuda foi muito importante para o nosso desenvolvimento pessoal e profissional.

Professoras Sky, Suzik, Millena, Camila, Gaia Maria, Agnes, Karol(doguinho) agradeço seu tempo, dedicação, sua presença e apoio. Sua energia e positividade fizeram toda a diferença. Obrigado novamente a todos vocês pelo trabalho duro e dedicação. Estou muito orgulhosa do que conquistamos juntas.

Atenciosamente, Sarah Bernardino.


📌 Contato

📝Linkedin

📝Github

📝Slide


Festival

__________________________________________________________________________________________