Um Projeto desenvolvido na Semana Next Level Week #8 da Rocketseat
Consulte tutorial de instalação feito pela Rocketseat.
- Node JS
- React JS
- React Native
- TypeScript
- TailwindCSS
- Prisma
- Jest
- PostgreSQL
Link para layout feito no Figma
Clone o repositório
user@pc:~$ #Clonando o projeto com o git!
user@pc:~$ git clone https://github.com/dosza/nlw-return
Crie o arquivo .env.local em /web, nesse arquivo defina a variável VITE_API_URL="http://localhost:3333" ou com endereço IP de sua máquina!
VITE_API_URL="http://192.168.1.2:3333"
Inicialização da Aplicação Frontend
user@pc:~$ cd web
user@pc:~$ #configuração de dependencias
user@pc:~$ npm
user@pc:~$ #Inicialização da aplicação web
user@pc:~$ npm run dev
Para este projeto foi utilizado:
Arquivo de configuração do Prisma Scheme
Nesse arquivo é possível trocar o servidor de banco de dados alterando o valor de provider
Leia a documentação do Prisma Scheme para saber mais!
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
Crie o arquivo .env em /server
Nesse arquivo deverá conter as variáveis:
- DATABASE_URL : endereço do servidor de Banco de Dados
- MAILSERVER_URL: endereço do servidor de E-mail
Dica: substitua seu usuário e senha, caso esteja utitilizando maitrap e o postgresql!!
DATABASE_URL="postgresql://user:password@localhost:5432/mydb?schema=db"
MAILSERVER_URL="smtp://user:password@smtp.mailtrap.io:2525"
user@pc:~$ cd server
user@pc:~$ #configuração de dependencias
user@pc:~$ npm
user@pc:~$ #executa a migração em modo desenvolvimento
user@pc:~$ npm run migrateDev
Dica: Para executar as migrations em produção basta executar:
npm run migrateProd
Inicializando o servidor Web
user@pc:~$ cd server
user@pc:~$ #Inicialização Backend em modo desenvolvimento
user@pc:~$ npm run dev
Versão: v0.1.0
Esta API recebe os feedbacks.
Implementa ações com o método POST
- Enviar Feeback
http://localhost:3333/feeedbacks
Parâmetros | Tipo | Valor |
---|---|---|
type | string | 'BUG' | 'IDEA' | 'OTHER' |
comment | string | 'Não funciona' |
screenshot | string | 'data:image/png;base64, ' |
Observações:
- screenshot é opcional!
- screenshot deve conter o prefixo: data:image/png;base64 e ser codificada em Base64.
Retorno Status:
- 201 para sucesso
- 500 para erro no servidor
Widget Feedback Frontend
Widget Feedback Backend
Breaking news: Agora você pode executar o projeto usando o comando make
O arquivo compose.yaml configura os seguintes serviços:
- Instale o docker
sudo apt install docker docker-compose docker-buildx make -y
- Na raiz do repositório crie um arquivo .env
MAILSERVER_URL=smtp://user:password@service.com
POSTGRES_PASSWORD=password
POSTGRES_DOCKER_PORT=5432
POSTGRES_LOCAL_PORT=5432
DATABASE_DOCKER_URL=postgresql://postgres:password@database:5432/nlwreturn_db?schema=db
POSTGRES_DB=nlwreturn_db
POSTGRES_SCHEMA=db
NODE_ENV=production
- Crie o arquivo .env.local na pasta /web
VITE_API_URL=http://localhost:3333
- Execute o projeto
make
-
Acesse a página web em http://localhost:4173
-
Encerrando a execução
make down
- Adicionar tema light/dark
- Substituir o Mailtrap por um serviço de e-mail real,
- Melhorar HTML/CSS do e-mail
- Criar um dashboard de Feedbacks
- Autenticação com (Firebase/Auth)