Esse projeto trata-se de apresentar para os clientes os produtos industrializados e ter a certeza se há ou não a presença dos ingredientes em sua composição e desse modo, aumentar a inclusão e facilitar a vida de quem tem alergias alimentares, em especial as mais graves.
- NodeJS
- Express
- Prisma
- JWT
- Validação com Yup
- Postgresql
- Integração do Prisma com o banco Postgresql
- Criação de tabela User com a ORM Prisma
- CRUD de Users
- CRUD de Products
- CRUD de Ingredients
- CRUD de Feedbacks
- CRUD de Brands
- CRUD de Categories
- Token Controller
- Validações com a biblioteca Yup
- Autenticação JWT
- Criptofrafia do password com bcryptjs
- Middleware de login
- Middleware de permissão admin
- Middleware de tratamento de erros(ExpectionHandler)
- Acesse https://console.firebase.google.com/u/2/
- Clique em "adicionar projeto", insira o nome que desejar para seu projeto e clique em "continuar".
- Desmarque a opção "ativar o google analytics neste projeto", clique em "criar projeto", aguarde a criação e depois clique em "continuar".
- Na tela principal aparecerá a frase "Comece adicionando o Firebase ao seu aplicativo". Clique no icone "" logo abaixo desta frase, digite um apelido para sua aplicação web e clique em "registrar app".
- Aparecerá um objeto chamado "firebaseConfig", onde tem as configuraçõesnecessárias para conectar a sua conta do firebase. Esses valores serão adicionados em um arquivo .env que está explicado logo abaixo. Guarde esses valores, não vá perder hein? ;)
- Após guardar os valores pode clicar em "continuar no console".
- Os arquivos são armazenados no storage do firebase. Para visualizar abra o menu principal e clique em "Storage".
- Clique em "vamos começar", selecione a opção "Iniciar no modo de teste" e clique em "próxima".
- Selecione o local desejado do storage (recomendo southamerica), clique em "concluir" e aguarde a criação do storage.
- Todos os arquivos armazenados poderão ser visualizados nesta página do storage.
- Cada banco de dados vai ter suas particularidades, então busque como fazer a configuração inicial do seu banco desejado.
- Crie o database com o nome que desejar e deixe guardadinha a URL de conexão com seu banco, pois será necessária adicionar no arquivo .env que será criado logo abaixo.
# Clone este repositório
$ git clone https://github.com/SquadQuimera/back-end.git
# Acesse a pasta do projeto no terminal/cmd
$ cd back-end
# Instale as dependências
$ npm install
# Crie um arquivo .env com os arquivos
- DATABASE_URL="a url do seu banco"
- TOKEN_SECRET="uma chave só sua, pode ser um hash aleatório"
- TOKEN_EXPIRATION=1d(aqui varia, você decide quanto tempo para o token expirar)
# Os valores das variáveis abaixo você encontra no firebase em "configurações do projeto" > "geral".
- FIREBASE_API_KEY="<your-api-key>"
- FIREBASE_AUTH_DOMAIN="<your-auth-domain>"
- FIREBASE_PROJECT_ID="<your-project-id>"
- FIREBASE_STORAGE_BUCKET="<your-storage-bucket-url>"
- FIREBASE_MESSAGING_SENDER_ID="<your-messaging-sender-id>"
- FIREBASE_APP_ID="<your-app-id>"
# Conecte o Prisma com o seu banco, no arquivo
- schema.prisma(obs:caso seu banco não seja o Postgresql)
# Faça as migrates do Prisma a partir do comando
$ npx prisma migrate dev
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# O servidor iniciará na porta:3333 - acesse <http://localhost:3333>