Skip to content
 
 

Repository files navigation

Full Stack Development Bootcamp Curriculum

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.

🚀 How to Use This Curriculum

This repository contains only the documentation and curriculum for the bootcamp. You will build the application code yourself by following the daily exercises.

Step 1: Get Your Own Copy

It is essential that you do not work directly in this repository. Instead, you should create your own copy on GitHub:

  1. Fork this repository: Click the "Fork" button at the top-right of this page to create a personal copy under your own GitHub account.
  2. Clone your fork: Clone the forked repository to your local machine. Replace your-username with your actual GitHub username.
    git clone https://github.com/your-username/fullstack-bootcamp.git
    cd fullstack-bootcamp

Step 2: Set Up Your Environment

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.

Windows Users: Choose Your Setup Path

We provide two setup options specifically for Windows users:

Option 1: Devcontainer (⚡ Recommended - Quick Start)
  • 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

📖 Devcontainer Setup Guide

Option 2: Hybrid (WSL2 + Docker) 🔧
  • 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

📖 Windows Setup Guide

Not Sure Which to Choose?
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.

Step 3: Start Building!

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.

Learning Philosophy

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.

Bootcamp Structure

Shared Foundation

Choose Your Path

Software Engineering

Data Analysis

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.

🛠️ Tech Stack

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

🤝 Contributing

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.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages