Skip to content
Devs097518Public

About

O CodeMap é uma plataforma de estudo para desenvolvedores iniciantes, os auxiliando com roadmaps para lhes dar um caminho de estudos de tecnologias.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

148 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation



🗺️ CodeMap

Seu guia de estudos para programadores juniores

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.

🚀 Ver Demo · 🐛 Reportar Bug · ✨ Sugerir Feature


📌 Sobre o Projeto

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

🛣️ Roadmap do Projeto

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...

🧰 Tecnologias

Frontend

Next.js React TailwindCSS

Backend

Node.js Express PostgreSQL


⚙️ Como Instalar e Rodar

Pré-requisitos

1. Clone o repositório

git clone https://github.com/Devs097518/codemap.git
cd codemap

2. Configure as variáveis de ambiente

O 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.

3. Instale as dependências

# Backend
cd backend
npm install

# Frontend (em outro terminal)
cd frontend
npm install

4. Crie o banco de dados

Abra o terminal do PostgreSQL (em terminal linux)

sudo -u postgres psql

Crie 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

5. Rode o projeto

# Backend
cd backend
node server.js

# Frontend
cd frontend
npm run dev

Acesse em: http://localhost:3000


✅ Testes automatizados

Bibliotecas necessárias

Instalar como devDependencies:

cd backend
npm install --save-dev jest babel-jest @babel/core @babel/preset-env supertest

Configuração necessária

backend/babel.config.json

{
  "presets": [["@babel/preset-env", { "targets": { "node": "current" } }]]
}

backend/package.json

"scripts": {
  "test": "jest"
}

Como rodar

cd backend
npm test

Os três tipos de teste usados

  1. Service — mocka db/pg, testa a lógica de acesso a dados isolada do banco real
  2. Controller — mocka o service, testa os status HTTP retornados em cada caminho (sucesso, erro, não encontrado, conflito)
  3. Routes (integração) — usa Supertest contra o app real, mocka auth.middleware.js (via helper) e o service/controller de módulos delegados, valida que roteamento + middlewares + controller estão conectados corretamente

🤝 Como Contribuir

Contribuições são muito bem-vindas! Veja como participar:

  1. Fork este repositório
  2. Crie uma branch para sua feature:
    git checkout -b feature/minha-feature
  3. Faça suas alterações e commit:
    git commit -m "feat: adiciona minha feature"
  4. Envie para o seu fork:
    git push origin feature/minha-feature
  5. Abra um Pull Request descrevendo o que foi alterado

📋 Convenção de Commits

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

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Feito com ❤️ por Devs097518

About

O CodeMap é uma plataforma de estudo para desenvolvedores iniciantes, os auxiliando com roadmaps para lhes dar um caminho de estudos de tecnologias.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages