This repository contains the complete curriculum for a hands-on, project-based full-stack development bootcamp. The curriculum is designed to be completed independently, guiding you through building, securing, and deploying a modern web application from scratch.
This repository contains only the documentation and curriculum for the bootcamp. You will build the application code yourself by following the daily exercises.
It is essential that you do not work directly in this repository. Instead, you should create your own copy on GitHub:
- Fork this repository: Click the "Fork" button at the top-right of this page to create a personal copy under your own GitHub account.
- Clone your fork: Clone the forked repository to your local machine. Replace
your-usernamewith your actual GitHub username.git clone https://github.com/your-username/fullstack-bootcamp.git cd fullstack-bootcamp
Follow the instructions in docs/day_0_environment_setup.md to prepare your development environment. This is a critical step that ensures you have all the necessary tools installed and configured.
We provide two setup options specifically for Windows users:
- Setup time: 5-10 minutes
- Best for: VS Code or Cursor users wanting the fastest setup
- What you get: Pre-configured containers with all tools installed
- Choose your path:
- 💻 Software Engineering: Flask + React + Node.js + PostgreSQL + Docker
- 📊 Data Analysis: Python + Jupyter + Data Science libraries + PostgreSQL
- Setup time: 30-45 minutes
- Best for: Users wanting native Linux development experience on Windows
- What you get: Full control over tool installation, works with any editor
- Learn: WSL2, pyenv, nvm, Docker Desktop integration
| Factor | Devcontainer | Hybrid WSL2 |
|---|---|---|
| Speed | ⚡ Fastest (5-10 min) | 🔧 Moderate (30-45 min) |
| Editor | VS Code/Cursor | Any editor |
| Control | Pre-configured | Full control |
| Learning | Focus on coding | Learn native setup |
Recommendation: Start with devcontainers. You can always switch to hybrid later if needed.
Begin with docs/day_1_git_setup.md and proceed through the daily lessons. Each document contains a set of deliverables, success criteria, and hints to guide you. The goal is not to copy-paste code, but to learn by doing.
This curriculum follows a discovery-based learning approach:
- No Solution Code Provided: You will research, experiment, and build everything yourself. This is intentional - the struggle of figuring things out is where the deepest learning happens.
- Guided, Not Prescriptive: Each lesson provides learning objectives, key concepts with resource links, and exercises with success criteria. How you achieve the criteria is up to you.
- Starter Notebooks Available: For the Data Analysis path, starter Jupyter notebooks are provided in the
notebooks/directory to help structure your work. - Real Datasets Included: The
data/directory contains sample datasets for hands-on practice.
This approach mirrors real-world software development, where you'll often need to research solutions, read documentation, and piece together knowledge from multiple sources.
- Day 2: Flask API Development
- Day 3: React Basics
- Day 4: Docker Basics
- Day 5: Docker Advanced
- Day 6: CRUD and Database
- Day 7: Auth and Security
- Day 8: Unit Testing
- Day 9: CI/CD GitHub Actions
- Day 10: Cloud Deployment
- Day 11: Monitoring and Production
- Day 3: Python for Data Analysis
- Day 4: Python for Financial Analysis
- Day 5: Docker Basics (shared with SE path)
- Day 6: Docker Advanced (shared with SE path)
- Day 7: SQL for Data Analysis
- Day 8: Exploratory Data Analysis & Data Storytelling
- Day 9: Working with APIs and External Data
- Day 10: Introduction to Machine Learning (Optional)
- Day 11: Reproducible Analysis & Reporting
- Day 12: Data Ethics & Privacy
After the shared foundation, choose the path that best fits your goals. Data Analysis learners can optionally select advanced modules or skip to topics most relevant to their work.
This curriculum will guide you through building an application with the following technologies:
- Backend: Flask (Python)
- Frontend: React (TypeScript)
- Database: PostgreSQL
- Containerization: Docker
- CI/CD: GitHub Actions
- Version Control: Git
This curriculum is open to improvements. If you find errors or have suggestions, please read our Contributing Guidelines and submit a pull request to the original repository.
This project is licensed under the MIT License - see the LICENSE file for details.