Meu Desafio Backend é a API que suporta o aplicativo Meu Desafio, fornecendo serviços para cadastro, gerenciamento de atividades e armazenamento seguro dos dados do usuário.
- Processamento de tarefas em segundo plano com BullMQ.
- Cadastro e autenticação de usuários.
- Envio de emails.
- Upload de arquivos para o Supabase Storage.
- Registro de atividades (corridas e pedaladas).
- Integração com o banco de dados PostgreSQL.
- Validação de dados robusta com Zod.
- BullMQ - Biblioteca para gerenciamento de filas utilizando Redis.
- NestJS - Framework para desenvolvimento de APIs escaláveis e modulares.
- Node.js - Ambiente de execução para JavaScript no lado do servidor.
- Prisma - ORM moderno para interação com o banco de dados.
- PostgreSQL - Banco de dados relacional utilizado.
- Supabase - Plataforma de backend como serviço (BaaS) com armazenamento e autenticação.
- Zod - Biblioteca de validação e tipagem.
- Clone este repositório:
git clone https://github.com/seu-usuario/meu-desafio-backend.git
- Instale as dependências:
npm install
# ou
yarn install
- Configure o ambiente:
Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis:
DATABASE_URL=postgresql://usuario:senha@localhost:5432/meu-desafio
JWT_SECRET=sua_chave_secreta
PORT=3000
SUPABASE_URL=seu_url_supabase
SUPABASE_KEY=sua_chave_supabase
- Suba os serviços necessários com Docker Compose:
docker-compose up -d
- Execute as migrações do banco de dados:
npx prisma migrate dev
- Inicie o servidor:
npm run start:dev
- Certifique-se de que o servidor está rodando em
http://localhost:3000
. - Utilize ferramentas como Postman ou Insomnia para testar as rotas da API.
- Integre o Mobile (aplicativo Meu Desafio) com o backend.
O frontend mobile da aplicação Meu Desafio pode ser encontrado no repositório abaixo:
Contribuições são bem-vindas! Siga os passos abaixo para colaborar:
- Faça um fork do repositório.
- Crie um branch para sua feature ou bugfix:
git checkout -b minha-feature
. - Faça os commits e adicione uma descrição clara:
git commit -m "Minha nova feature"
. - Envie seu código:
git push origin minha-feature
. - Abra um Pull Request.
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais informações.
- Desenvolvedor: Max Assis
- E-mail: [email protected]
- GitHub: @maxassis