A structured 7-week learning plan to master JavaScript/TypeScript backend development and React frontend, culminating in a Personal Finance Tracker project.
| Phase | Weeks | Focus |
|---|---|---|
| 1 | Week 1-4 | Backend Fundamentals (Node.js, TypeScript, Fastify, PostgreSQL) |
| 2 | Week 5 | React Fundamentals |
| 3 | Week 6-7 | Final Project: Personal Finance Tracker |
- Time: 1 hour per day
- Days: Weekdays only (Monday-Friday)
- Total: 35 learning days
Learn/JavaScript/
├── README.md # This file
├── Modules/ # Reference learning materials
│ ├── LEARNING_MODULE.md # English version
│ └── LEARNING_MODULE_ID.md # Indonesian version
│
├── Exercises/ # One folder per day (guide + practice + exercise)
│ ├── day01/
│ │ ├── DAY_01.md # Day 1 learning guide
│ │ ├── practice.ts # Type code examples here
│ │ └── exercises.ts # Complete exercises here
│ ├── day02/
│ │ ├── DAY_02.md
│ │ └── ...
│ ├── ...
│ └── day35/
│ └── DAY_35.md # Day 35: Project Completion
│
├── Projects/ # Mini projects & Final project
│ ├── todo-api/ # Week 1-2 mini project
│ ├── book-api/ # Week 3 mini project
│ ├── notes-api/ # Week 4 mini project
│ └── finance-tracker/ # Final project (Week 6-7)
│ ├── backend/
│ └── frontend/
│
└── Progress/
└── PROGRESS.md # Track your learning progress
- Read (30-35 min): Open the day's file in
Exercises/dayXX/DAY_XX.md - Practice (15-20 min): Type code in
Exercises/dayXX/ - Quiz (10 min): Answer questions, check with AI assistant
- End of each week: Review quiz answers
- Build mini projects to reinforce learning
- Open
Exercises/day01/DAY_01.md - Read the module section referenced
- Type the code examples (don't copy-paste!)
- Complete the exercises
- Answer quiz questions
- Update
Progress/PROGRESS.md
During the fundamentals phase, you'll learn concepts using simplified tools:
- Runtime: Node.js
- Language: TypeScript
- Framework: Fastify
- Database: Simulated (fakeDb) - focus on patterns, not setup
- Auth: JWT, bcrypt concepts
The Finance Tracker uses a production-ready stack matching the LEARNING_MODULE:
- Runtime: Node.js
- Language: TypeScript
- Framework: Fastify
- Database: PostgreSQL (via Docker)
- ORM: Sequelize (raw SQL queries)
- Auth: JWT, bcrypt
- Containerization: Docker
- Library: React
- Language: TypeScript
- Styling: Tailwind CSS
- Charts: Recharts
A full-stack application where you can:
- Register and login securely
- Track income and expenses
- Categorize transactions
- View charts and reports
- Generate monthly summaries
- Type, don't copy: Typing code helps muscle memory
- Understand, don't memorize: Focus on concepts
- Practice daily: Consistency beats intensity
- Ask questions: Use AI assistant to clarify doubts
- Build projects: Apply what you learn immediately
- Check the Glossary at the end of
LEARNING_MODULE.md - Ask your AI assistant to explain concepts
- Review previous days if something is unclear
Start your journey: Open Exercises/day01/DAY_01.md and begin!