DEV Community

Cover image for From-Basics-to-Deployment
Sabin Sim
Sabin Sim

Posted on

From-Basics-to-Deployment

💡 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)