CodeMap é uma aplicação web que organiza o aprendizado de programadores iniciantes através de roadmaps interativos, permitindo registrar progresso e acessar conteúdos na ordem certa — sem se perder no mar de informações da internet.
Quem está começando na programação se depara com um problema clássico: existe muito conteúdo disponível, mas nenhuma ordem clara para seguir. O resultado? Confusão, desmotivação e horas perdidas.
O CodeMap resolve isso oferecendo:
- 🗺️ Roadmaps estruturados com trilhas de estudo definidas
- ✅ Registro de progresso por etapa do roadmap
- 🔗 Redirecionamento de conteúdos curados na ordem certa
- 🔐 Área autenticada com experiência personalizada por usuário
O CodeMap está sendo construído em versões funcionais incrementais:
| Versão | Funcionalidade | Status |
|---|---|---|
| V0 | Usuário cria uma nota | ✅ Concluído |
| V1 | Usuário cria várias notas | ✅ Concluído |
| V2 | Usuário cria pastas e organiza notas | ✅ Concluído |
| V3 | Autenticação | ✅ Concluído |
| V4 | Painel do Administrador | ✅ Concluído |
| V5 | Painel do Cliente | ✅ Concluído |
| V6 | Testes automatizados | ✅ Concluído |
| V7 | Deploy | 🔄 Trabalhando... |
- Node.js instalado
- PostgreSQL instalado e rodando
- Git
git clone https://github.com/Devs097518/codemap.git
cd codemapO projeto possui arquivos .env_exemple.txt tanto no frontend quanto no backend. Copie-os e preencha com suas configurações:
# No diretório do backend
cp .env_exemple.txt .env
# No diretório do frontend
cp .env_exemple.txt .env
⚠️ Preencha os valores das suas variáveis de ambiente antes de rodar o projeto.
# Backend
cd backend
npm install
# Frontend (em outro terminal)
cd frontend
npm installAbra o terminal do PostgreSQL (em terminal linux)
sudo -u postgres psqlCrie o banco de dados do CodeMap e se conecte
CREATE DATABASE codemap;
\c codemap;Cole o conteúdo do arquivo backend/db/db.sql e crie o banco
# Backend
cd backend
node server.js
# Frontend
cd frontend
npm run devAcesse em: http://localhost:3000
Instalar como devDependencies:
cd backend
npm install --save-dev jest babel-jest @babel/core @babel/preset-env supertestbackend/babel.config.json
{
"presets": [["@babel/preset-env", { "targets": { "node": "current" } }]]
}backend/package.json
"scripts": {
"test": "jest"
}cd backend
npm test- Service — mocka
db/pg, testa a lógica de acesso a dados isolada do banco real - Controller — mocka o
service, testa os status HTTP retornados em cada caminho (sucesso, erro, não encontrado, conflito) - Routes (integração) — usa Supertest contra o
appreal, mockaauth.middleware.js(via helper) e oservice/controllerde módulos delegados, valida que roteamento + middlewares + controller estão conectados corretamente
Contribuições são muito bem-vindas! Veja como participar:
- Fork este repositório
- Crie uma branch para sua feature:
git checkout -b feature/minha-feature
- Faça suas alterações e commit:
git commit -m "feat: adiciona minha feature" - Envie para o seu fork:
git push origin feature/minha-feature
- Abra um Pull Request descrevendo o que foi alterado
Use o padrão Conventional Commits:
| Prefixo | Uso |
|---|---|
feat: |
Nova funcionalidade |
fix: |
Correção de bug |
docs: |
Alteração em documentação |
style: |
Formatação, sem mudança de lógica |
refactor: |
Refatoração de código |
chore: |
Tarefas de manutenção |
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com ❤️ por Devs097518