Skip to content

AyrtonMedrano/learning-typescript

Repository files navigation

🎓 TypeScript Learning App

Uma aplicação web interativa para ensinar TypeScript a desenvolvedores que já conhecem JavaScript

Deploy Next.js TypeScript Tailwind CSS

🚀 Demo

🌐 Ver aplicação online

📋 Sobre o Projeto

Esta aplicação foi desenvolvida para acelerar a transição de desenvolvedores JavaScript para TypeScript através de uma experiência de aprendizado estruturada e prática. A plataforma oferece lições progressivas, exercícios práticos e exemplos comparativos entre JavaScript e TypeScript.

🎯 Objetivo

Facilitar o aprendizado de TypeScript para desenvolvedores que já possuem conhecimento em JavaScript, fornecendo:

  • Lições interativas organizadas por dificuldade
  • Exercícios práticos com feedback instantâneo
  • Comparações lado a lado entre JavaScript e TypeScript
  • Sistema de progresso personalizado
  • Interface moderna e responsiva

✨ Funcionalidades

📚 Páginas Principais

  • 🏠 Página Inicial: Visão geral da aplicação e módulos de aprendizado
  • 📖 Lições: Conteúdo organizado em três níveis (Básico, Intermediário, Avançado)
  • 💻 Exercícios: Editor de código interativo com validação em tempo real
  • 📑 Referência: Documentação rápida, cheat sheet e glossário de tipos

🔧 Recursos Técnicos

  • Lições Interativas: Conteúdo progressivo com exemplos práticos
  • Editor de Código: Syntax highlighting e autocomplete
  • Comparações JS vs TS: Visualização lado a lado das diferenças
  • Sistema de Progresso: Acompanhamento local do aprendizado
  • Interface Responsiva: Otimizada para desktop e mobile
  • Navegação Intuitiva: UX moderna e acessível

🛠️ Tecnologias Utilizadas

Frontend

Estado e Dados

  • Zustand - Gerenciamento de estado
  • LocalStorage - Persistência do progresso do usuário

Desenvolvimento

  • ESLint - Linting de código
  • Prettier - Formatação de código
  • pnpm - Gerenciador de pacotes

🚀 Como Executar

Pré-requisitos

  • Node.js 18+
  • pnpm (recomendado) ou npm

Instalação

  1. Clone o repositório
git clone https://github.com/AyrtonMedrano/learning-typescript.git
cd learning-typescript
  1. Instale as dependências
pnpm install
# ou
npm install
  1. Execute o servidor de desenvolvimento
pnpm dev
# ou
npm run dev
  1. Abra no navegador
http://localhost:3000

Scripts Disponíveis

pnpm dev          # Inicia o servidor de desenvolvimento
pnpm build        # Gera build de produção
pnpm start        # Inicia servidor de produção
pnpm lint         # Executa linting
pnpm type-check   # Verifica tipos TypeScript

📁 Estrutura do Projeto

src/
├── app/                 # App Router do Next.js
│   ├── globals.css     # Estilos globais
│   ├── layout.tsx      # Layout principal
│   ├── page.tsx        # Página inicial
│   ├── lessons/        # Páginas de lições
│   ├── exercises/      # Páginas de exercícios
│   └── reference/      # Página de referência
├── components/         # Componentes reutilizáveis
│   ├── ui/            # Componentes base (shadcn/ui)
│   ├── CodeBlock.tsx  # Bloco de código com syntax highlighting
│   ├── Navigation.tsx # Navegação principal
│   └── ProgressBar.tsx # Barra de progresso
├── data/              # Dados das lições e exercícios
│   ├── lessons.ts     # Conteúdo das lições
│   └── exercises.ts   # Exercícios práticos
├── lib/               # Utilitários e configurações
│   └── utils.ts       # Funções auxiliares
└── store/             # Gerenciamento de estado
    └── useProgressStore.ts # Store do progresso

🎨 Design System

Cores

  • Primária: #3178C6 (Azul TypeScript)
  • Secundária: #1E1E1E (Cinza escuro)
  • Sucesso: #10B981 (Verde)
  • Background: #FFFFFF / #F5F5F5

Tipografia

  • Texto: Inter
  • Código: JetBrains Mono

🤝 Como Contribuir

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📝 Roadmap

  • Adicionar mais exercícios práticos
  • Implementar sistema de conquistas
  • Adicionar modo escuro
  • Criar testes automatizados
  • Adicionar suporte a múltiplos idiomas
  • Implementar playground de código avançado

📄 Licença

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

👨‍💻 Autor

Ayrton Medrano


Feito com ❤️ e TypeScript

⭐ Se este projeto te ajudou, considere dar uma estrela!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors