PrimoDev/ apps

PrimoAcademy

Free, open source programming roadmaps in Portuguese

  • Web
  • Free
  • Open source

What is PrimoAcademy?

Primo Academy is a site of programming study roadmaps in Brazilian Portuguese, inspired by roadmap.sh and built for people starting from zero. It has more than 40 tracks, each a map of topics from basic to advanced, with quizzes, diagrams and a final project.

It's free with no paywall. The content lives in the open aprenda-community repository, and anyone can suggest fixes or new tracks through a pull request.

What it does

  1. 01More than 40 tracks and more than 480 lessons in Portuguese
  2. 02Areas covering fundamentals, frontend, backend and data, DevOps, security and AI
  3. 03Frontend Developer and Backend Developer bootcamps that chain tracks and projects
  4. 04Hands-on projects with a brief, requirements and tips, beginner to advanced
  5. 05Sign in with GitHub or email to track progress and earn XP
  6. 06Public leaderboard of the top 50 profiles by XP
  7. 07Open MDX content, editable by pull request, with a local preview
  8. 08Code under AGPL-3.0 and content under CC BY-SA 4.0

FAQ

Is Primo Academy free?
Yes. All content is free and open source, with no paywall.
Is the content in English?
No. Tracks are written in Brazilian Portuguese. English resources are sometimes linked when they are the canonical source, like MDN.
Do I need to know how to code to start?
No. It's aimed at people who have never programmed, and the Programação do Zero track starts at the very beginning.
What's the difference between a track and a bootcamp?
A track is a map of topics on one subject. A bootcamp is a curated path that chains several tracks and projects in order, such as Frontend Developer (about 7 months) and Backend Developer (about 5 months).
How do I contribute?
Through the aprenda-community repository on GitHub: edit an .mdx file right on GitHub and open a PR, or open an issue suggesting a topic or a new track.
Is there a mobile app?
An iOS and Android app with the same content is in development but isn't in the stores yet. For now, use the website.

Guides

Documentation

README from the lucianodiisouza/aprenda-community repository, refreshed on every deploy.

Trilhas de estudo de programação, em português, gratuitas e open source. Mantidas pela comunidade. Inspirado no roadmap.sh, pensado para quem está começando do zero.

Licença código: AGPL-3.0 Licença conteúdo: CC BY-SA 4.0 Trilhas Projetos Bootcamps PRs bem-vindos Issues


✨ O que é

O Aprenda é um projeto de roadmaps de aprendizado de programação. Este repositório é a face pública e colaborativa dele: aqui a comunidade abre PRs sugerindo trilhas, corrigindo erros, melhorando recursos e adicionando conteúdo.

São 40 trilhas hoje, cada uma um grafo de nós (do básico ao avançado) com Quiz, Mermaid e projeto final, organizadas em 6 áreas:

  • 🧱 Fundamentos - Programação do Zero, Terminal, Git, Estruturas de Dados…
  • 🎨 Frontend & Web - HTML, CSS, React, TypeScript, Angular, Next.js, a11y…
  • 🗄️ Backend & Dados - Backend (Node/Express), SQL, NoSQL, RabbitMQ.
  • 🐳 DevOps & Infra - Docker, Docker Compose, Kubernetes.
  • 🛡️ Segurança - Cibersegurança para Desenvolvedores, Segurança Frontend.
  • 🤖 IA & Conteúdo - Prompt Engineering, Engenharia assistida por IA.

👉 Veja a lista completa, com contagem de nós e nível, no Catálogo.

🎓 Bootcamps

Um bootcamp é uma jornada curada que encadeia trilhas e projetos numa ordem com começo, meio e fim - do zero a "pronto pro mercado". Ele não tem conteúdo próprio: é curadoria que aponta pra trilhas e projetos que já existem, e o progresso é calculado a partir do progresso delas.

  • 🟣 Desenvolvedor Frontend - do zero absoluto ao frontend de produção (React + TypeScript, Next.js, testes, performance, a11y, segurança e edge deploy). 24 módulos, ~7 meses. Nível iniciante.
  • 🟠 Desenvolvedor Backend - a jornada server-side com Node, banco de dados, mensageria e deploy. 16 módulos, ~5 meses. Nível intermediário.

Cada bootcamp vive em bootcamps/<slug>/bootcamp.json. Veja a Anatomia de um bootcamp.json no CONTRIBUTING pra propor ou editar um.

🛠️ Projetos práticos

Além das trilhas, o repositório também guarda Projetos: desafios práticos que exercitam o que as trilhas ensinam. São 17 projetos (do "olá mundo" em HTML/CSS até system design), cada um com um brief em MDX: objetivo, requisitos, desafios extras, dicas.

Diferente de uma trilha (que é um grafo de conceitos), um projeto é um documento único - o "brief" do desafio. A lista completa está no Catálogo; veja projects/README.md para o formato e templates/project.mdx para o esqueleto.

🎯 Para quem é

  • Quem nunca programou e quer começar pelo começo (literalmente o começo).
  • Quem está aprendendo e quer trilhas claras em vez de 50 abas abertas.
  • Quem prefere PT-BR mas aceita ler algo em inglês se for a fonte canônica (ex: MDN).
  • Quem quer contribuir com conteúdo sem precisar virar programador.

🚀 Como o conteúdo aparece no app

Este repositório é consumido via git submodule pelo app primo-academy - o mesmo código que renderiza o site público. Cada merge aqui, depois de passar no CI, vira uma versão semântica (vX.Y.Z) que o app pode pinar.

Em outras palavras: sua contribuição vira conteúdo publicado sem você precisar entender de deploy.

🤝 Como contribuir

Contribuir com conteúdo é simples e não exige saber programar:

  1. Encontrou um erro de português, link quebrado ou recurso melhor? → Abra um PR editando o .mdx direto pelo GitHub (ícone de lápis).
  2. Quer sugerir um nó novo numa trilha? → Abra uma issue do tipo "novo tópico".
  3. Quer propor uma trilha inteira? → Abra uma issue do tipo "trilha nova" e a gente discute antes.
  4. Tem dúvida? → Abra uma issue de dúvida (Q&A).

Leia o CONTRIBUTING.md - é curto e mostra o passo a passo. Se for editar texto, dê uma olhada no Style Guide pra manter a voz e a profundidade.

TL;DR do fluxo

fork → edite (ou crie) um .mdx → abra PR → CI valida → review → merge → vira tag

👀 Preview local (veja sua trilha renderizada)

Antes de abrir o PR, dá pra ver sua trilha com o mesmo visual do site, rodando na sua máquina:

cd preview
npm install
npm run dev

Abra o endereço que o Vite mostrar (por padrão http://localhost:5173). O app lê roadmaps/ direto - sem sync, sem o app principal, sem login - e recarrega sozinho quando você edita um .mdx ou o roadmap.json.

É uma prévia de conteúdo: reproduz tema, fontes, tipografia, a árvore de nós, Quiz e Mermaid. Progresso, login e busca não estão aqui, e alguns componentes interativos aparecem como marcador. Detalhes em preview/README.md.

📂 Estrutura do repositório

.
├── roadmaps/
│   └── <slug-da-trilha>/
│       ├── roadmap.json          # metadados + lista de nós
│       ├── nodes/
│       │   └── <id-do-no>.mdx    # conteúdo de cada nó
│       └── meta/                 # (opcional) notas editoriais da trilha
├── projects/
│   └── <slug-do-projeto>.mdx     # um arquivo por projeto (brief)
├── bootcamps/
│   └── <slug-do-bootcamp>/
│       └── bootcamp.json         # jornada curada: trilhas + projetos em ordem
├── contributors.json             # contribuidores por release (gerado)
├── templates/
│   ├── node.mdx                  # esqueleto de um nó
│   ├── project.mdx               # esqueleto de um projeto
│   └── roadmap.json              # esqueleto de roadmap.json
├── preview/
│   └── ...                       # app local pra ver a trilha renderizada (Vite)
├── scripts/
│   └── ...                       # validação (validate.mjs) e build-contributors
├── docs/
│   ├── style-guide.md            # como escrever (voz, tom, curadoria)
│   └── proposals/                # propostas de trilha em discussão
├── .github/
│   ├── ISSUE_TEMPLATE/           # templates de issue (bug, trilha, nó, recurso)
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows/                # CI: valida JSON, frontmatter e links
├── CATALOGO.md                   # lista completa de trilhas, projetos e bootcamps
├── CHANGELOG.md                  # o que mudou em cada release
├── CODE_OF_CONDUCT.md
├── CODEOWNERS
├── CONTRIBUTING.md
└── LICENSE

Cada trilha é uma pasta dentro de roadmaps/. O nome da pasta é o slug que vira URL e é referenciado pelo app.

🛡️ Licença

  • Código do repo (scripts de validação, CI, templates) sob AGPL-3.0.
  • Conteúdo das trilhas (arquivos .mdx, roadmap.json) sob CC BY-SA 4.0 - você pode usar, remixar e compartilhar, desde que credite e mantenha a mesma licença.

Isso significa: sua contribuição pode ser usada livremente, e o que você escrever aqui também pode ser remixado por outros. É o preço (e o ganho) de conteúdo aberto.

🌟 Reconhecimento

Todo mundo que contribui entra em contributors.json

  • gerado por scripts/build-contributors.mjs a partir do histórico do repo - além de aparecer no CHANGELOG da release. Nós também aceitam um campo opcional credits no frontmatter pra creditar quem escreveu aquele conteúdo específico.

📣 Onde nos encontrar

  • Issues - perguntas, sugestões, show & tell, bugs e propostas concretas.
  • O app (em breve): aprenda.oprimo.dev.

Feito com 💚 por Luciano e pela comunidade.