💡 About This Project
This repository documents my entire journey to become a professional Junior Full-Stack Developer. It serves as an 11-week, Project-Based Learning (PBL) curriculum focused on building a secure, tested, and deployable Minimum Viable Product (MVP) web application.
The process covers the full cycle of web development: Backend (Flask), Frontend (Vanilla JS), Database (SQLAlchemy), Testing, and Cloud Deployment.
🎯 Project Goals & Deliverables
| Phase | Core Goal | Targeted Technology | Deliverable |
|---|---|---|---|
| Weeks 1-4 | Backend Foundation & Security | Flask, REST API Design, SQLAlchemy, User Authentication (Bcrypt) | A Full CRUD API Server with secure authentication features. |
| Weeks 5-6 | Frontend Integration | HTML/CSS (Flexbox/Grid), Vanilla JS, Fetch API (AJAX) | An Interactive Web Page that displays backend data using asynchronous communication. |
| Weeks 7-10 | Quality Assurance & Refinement | Git Workflow, Flask Blueprint, Unit Testing, Exception Handling, Clean Code Refactoring | A High-Quality Core Feature Implementation with test coverage and modular structure. |
| Week 11 | Go Live: Deployment | Cloud Service (Heroku/Render/AWS EC2) setup, Production Server (Gunicorn), Environment Security. | A Live Portfolio Web Site accessible globally via the internet. |
📚 Curriculum Breakdown & Documentation
The project is structured weekly, focusing on solving key development challenges step-by-step.
| Week | Core Problem/Challenge | Targeted Technical Goal |
|---|---|---|
| Week 1 | How to establish the foundation for dynamic communication between a server and client over the internet? | HTTP Principles, REST Concepts, Flask Basic Routing, Jinja2 Templating. |
| Week 2 | How to permanently store and manage complex, non-volatile data? | SQL (CRUD), SQLAlchemy (ORM) for DB schema design and data modeling. |
| Week 3 | How to enable front-end or mobile apps to request and manipulate backend data? | RESTful API Design principles, JSON data handling in Flask, Full CRUD endpoint construction. |
| Week 4 | How to restrict data viewing and safely protect user information? | User Authentication/Authorization Logic, Bcrypt for password hashing, session/cookie-based user state. |
| Week 5 | How to present backend data beautifully and interactively to the user? | HTML5, CSS (Flexbox/Grid basics), Vanilla JS (DOM manipulation and event handling). |
| Week 6 | How to connect the frontend and backend without page reloading (in real-time)? | Implementing asynchronous communication using Fetch API (AJAX), parsing backend JSON data. |
| Week 7 | How to manage and collaborate on multiple features reliably during development? | Git Version Control, Modular project structure design using Flask Blueprint. |
| Week 8 | How to plan a project that proves I am ready as a Junior Developer to an interviewer? | Realistic service planning (MVP), DB Schema (ERD), API specification writing, UI/UX wireframe design. |
| Week 9 | How to fully implement the planned features and handle user errors gracefully? | Full front-end/backend integration, Exception Handling logic (using HTTP Status Codes). |
| Week 10 | How to objectively verify that the code works as intended and improve quality? | Basic Unit Test writing (Flask Testing), Code refactoring based on Clean Code principles. |
| Week 11 | How to host my service online so that people worldwide can access it? | Cloud Service (Heroku/Render/AWS EC2) selection and deployment, using Production Servers (Gunicorn). |
Top comments (0)