An open API service indexing awesome lists of open source software.

https://github.com/intro-to-programming-2025-1/home

🧠 Introduction to Programming
https://github.com/intro-to-programming-2025-1/home

fastapi git github javascript markdown python react sql

Last synced: 3 months ago
JSON representation

🧠 Introduction to Programming

Awesome Lists containing this project

README

          

# 🧠 Introduction to Programming

Welcome to the **Introduction to Programming** course! In just 8 weeks, you’ll learn to build full-stack web applications using modern tools. We start with Git, JavaScript, and React on the frontend, then dive into backend development using **FastAPI** – a high-performance Python web framework – and finish with database integration and authentication.

---

## πŸ“… Course Format

- **Duration**: 8 weeks
- **Schedule**: 5 days per week (Monday–Friday)
- **Format**: In-person or Remote
- **Structure**: Hands-on practice, code-along, and weekly challenges

---

## 🧭 Weekly Breakdown

### [πŸ“ `week-1` – Git & Developer Tools](./week-01/)

- Git basics: init, add, commit, status, log
- GitHub collaboration: clone, push, pull, branching, PRs
- Terminal & VS Code setup
- Markdown & README writing
- Project structure best practices

---

### [πŸ“ `week-2` – JavaScript Fundamentals](./week-02/)

- Variables, types, operators
- Conditionals and loops
- Functions and scope
- Arrays and objects
- DOM manipulation & events

---

### [πŸ“`week-3` – JavaScript in Action](./week-03/)

- Forms and input handling
- Fetch API & JSON
- Async JavaScript: Promises and async/await
- Basic UI project: To-do app or weather app

---

### [πŸ“ `week-4` – React Basics](./week-04/)

- JSX, components, props and state
- Event handling
- Lists & conditional rendering
- useState & useEffect & useContext
- Simple component-based app

---

### [πŸ“ `week-5` – Advanced React](./week-05/)

- Controlled forms & inputs
- State lifting and prop drilling
- React Router for navigation
- Component organization
- Mini project: Task tracker or blog UI

---

### [πŸ“ `week-6` – Python + FastAPI Intro](./week-06/)

- Python basics (data types, loops, functions)
- Installing and using FastAPI
- Creating your first routes (GET, POST, PUT, DELETE)
- Understanding request/response
- Using Pydantic models for validation
- Serving JSON APIs to connect with frontend

---

### [πŸ“ `week-7` – Database & Auth with FastAPI](./week-07/)

- Intro to SQL & databases (SQLite or PostgreSQL)
- SQLAlchemy ORM integration with FastAPI
- CRUD operations: Create, Read, Update, Delete
- User registration and login with hashed passwords
- JWT-based authentication
- Protecting routes with auth middleware
- Connecting React frontend to FastAPI backend

---

### [πŸ“ `week-8` – Final Project Week](./week-08/)

- Design and build your own full-stack app
- React frontend + FastAPI backend + database
- Implement authentication and CRUD features
- Deploy your app (Netlify + Render / Railway)
- Final presentations & code reviews

---

## πŸ›  Technologies Covered

### πŸ§‘β€πŸ’» Frontend

- HTML, CSS, JavaScript (ES6+)
- React & React Router

### 🐍 Backend

- Python 3.11+
- FastAPI
- Pydantic (for validation)
- SQLAlchemy (ORM)
- JWT (Authentication)

### πŸ—ƒ Database

- SQLite (local) or PostgreSQL (production)

### πŸ”§ Tools

- Git & GitHub
- VS Code
- HTTP clients (Postman or browser dev tools)
- Deployment (Netlify, Render)

---

## πŸš€ Learning Outcomes

By the end of this course, you will:

- [x] βœ… Understand Git & version control
- [x] βœ… Build interactive web apps with React
- [x] βœ… Develop RESTful APIs using FastAPI
- [x] βœ… Perform CRUD operations with a database
- [x] βœ… Implement authentication using JWT
- [x] βœ… Deploy full-stack apps to the internet
- [x] βœ… Work in a real-world project workflow

---

Happy coding! πŸš€πŸ’»