Full Stack Web Application Development

Full Stack Web Application Development

Software Development with Python, Data Security, and Encryption
Course Description

This course is designed to deepen students' understanding of Python by exploring advanced programming techniques and best practices used in professional software development. By the end of the course, students will be able to write efficient, maintainable, and scalable Python code using concepts such as decorators, generators, context managers, and asynchronous programming.

Objectives of this course

Students will gain practical experience with testing frameworks, package management, and working with APIs and external libraries. This course prepares learners to tackle complex software problems and contribute to real-world projects with confidence and technical fluency.

Course Details
Course Code sop-webfs-103
Course Duration 10 weeks
Cost USD 150
Commitment 12-15 hrs./week
Tools Needed A stable internet connection for streaming videos is needed. (a Device [Phone, Tablet, or PC])
Prerequisite Course Python fundamentals - sop-webfb-101
Weighted grade distribution - Passing Grade: 80% of total grades
- Assignments: 40% total grades
- Quizzes: 20% total grades
- Final Exam: 10% total grades
- Final Project: 30% total grades
Batches
Batch Start Date End Date
I September 22, 2025 November 30,, 2025
II January 8, 2026 March 15, 2026
III March 16, 2026 May 31, 2026
Course Outline
Part 1: Advanced Python Concepts
Week Topics Assessment
Week 1
Functions
- Functions and Return Types
- Args and Kwargs
- Nested Functions and Closure

Week 2
Functional Programming
- Functional Programming, Iterators and Generators
- Meta classes and Generator
- Python Built-in Functions
Week 3
Python Modules
- Python Built-in Modules

Week 4
Application Development
- Environment File
- Dependancy Management
- Directory Structure
Part 2: App development API
Week Topics Assessment
Week 5
Introduction to FastAPI & Core Concepts
- What is FastAPI? Why use it?
- Installing FastAPI and Uvicorn
- Creating your first FastAPI application
- Path parameters and query parameters
- Using Pydantic for data validation
- HTTP status codes and responses
Hands-on Activities:
- Build a simple "Hello World" API
- Create routes with query and path parameters
- Use Pydantic models to validate and return structured data
Week 6
Request Handling, Dependency Injection & Error Management
- Request bodies and POST methods
- Dependency injection basics
- Handling errors and custom exception handling
- Response models and status codes
- FastAPI’s built-in documentation (Swagger & ReDoc)
Hands-on Activities:
- Create an API with GET, POST, and PUT routes
- Inject dependencies for mock authentication
- Implement custom error responses
Week 7
Building a Simple CRUD App with FastAPI
- Building a CRUD (Create, Read, Update, Delete) API
- In-memory data storage (e.g., Python dictionaries/lists)
- Structuring Fast API projects (routers, services, models)
- Using Python’s typing system for better maintainability
Hands-on Activities:
- Create a mini-CRUD application (e.g., a To-Do list or book catalog)
- Split code into routes, schemas, and services
- Versioning APIs
Week 8
Database Integration & Advanced Features
- Connecting FastAPI to a database (SQLAlchemy)
- Async vs sync in FastAPI - JWT-based authentication basics

Week 9
Advanced Features
- CORS handling
- Deploying FastAPI (intro only)
Hands-on Activities:
- Extend the CRUD app with a database
- Implement basic user login/logout with JWT tokens
- Enable CORS and test your API with a frontend or external tool like Postman
Week 10
Final Project & Examination
Build a small, fully functional Fast API application with at least:
- CRUD functionality
- Data persistence using a database
- Authentication (simple token or session-based)
- Clear API documentation
Tools & Technologies Recommended Resources
  • FastAPI
  • Uvicorn
  • Pydantic
  • SQLAlchemy
  • Postman or curl for testing
  • Git/GitHub for version control
Software Development with PHP, Data Security, and Encryption
Course Description

This course will teach students to build modern, full-featured web applications using PHP and Laravel, including secure backend logic, user authentication, and database management.

Objectives of this course

Course Details
Course Code sop-webfs-102
Course Duration 12 weeks
Cost USD 150
Commitment 10 – 12 hrs./week
Tools Needed A PC with a Modern Operating System to install MySQL workbench or XAMPP Server to use PhpMyAdmin
Prerequisite Course Students with basic programming knowledge
Weighted grade distribution Passing Grade: 80%
- Assignments: 60%
- Quizzes: 20%
- Final Examination: 20%
Batches
Batch Start Date End Date
I January 5, 2025 March 22, 2026
II April 6, 2026 June 21, 2026
Course Outline
Part 1: Core PHP & Web Basics
Week Topics Assessment
Week 1
PHP Fundamentals Refresher
- Embedding PHP in HTML
- Form handling: GET, POST
- Sessions and cookies
Project : Dynamic form that tracks user input across pages
(e.g., a basic quiz or contact form)
Week 2
PHP & MySQL (CRUD Basics)
- Connecting to MySQL (PDO)
- Building CRUD manually in PHP
- Introduction to phpMyAdmin
Project: Build a mini-CRUD app
(e.g., task manager or address book)
Week 3
Application Structure & Security
- Basic MVC concepts (manually)
- PHP includes & modularizing code (header/footer/config files)
- Password hashing & authentication logic
- Preventing SQL injection & XSS
Project : Build a simple login/logout system using sessions & hashed passwords
Part 2: Laravel Framework
Week Topics Assessment
Week 4
Introduction to Laravel
- Installing Laravel (Composer, Laravel Installer)
- Laravel directory structure
- Routing & Controllers
- Blade templating engine
Project : Rebuild the previous CRUD app using Laravel routing and Blade
Week 5
Models, Migrations & Eloquent ORM
- Working with databases in Laravel
- Migrations and seeders
- Eloquent models and relationships (1:1, 1:M, M:M)
- Resource controllers
Project: Expand the CRUD app with categories or tags using relationships
Week 6
Forms, Validation & Authentication
- Laravel form request validation
- CSRF protection
- File uploads
Project: Add user registration/login system and user-specific content
Week 7
REST APIs & JSON Responses
- Creating RESTful routes
- Returning JSON with Laravel
- API Resource classes
- API authentication with tokens
Project: Create a JSON API for part of your app
(e.g., tasks or posts endpoint)
Week 8
Advanced Laravel Features
- Middleware and route protection
- Queues and background jobs (intro)
- Email sending and notifications
- Environment management (. env, config)
Project: Add email notifications
(e.g., welcome emails or task reminders)
Part 3: Full-Stack Integration
Week Topics Assessment
Week 9 - 10
Frontend Integration (Optional, depending on pace)
- Laravel
- API-driven frontends
- CORS and security considerations
Project : Add AJAX-based dynamic features to the Laravel app
(e.g., live search, real-time form submission)
Week 11
Testing & Debugging
- Laravel debugging tools
- Writing unit tests and feature tests with PHPUnit
- Factory-based testing and database testing
Week 12
Deployment & Final Project
- Preparing the app for deployment
- Hosting on cloud (Digital Ocean)
- Using Git for deployment
- Environment configuration and database setup on production
Capstone Project : Build a simple login/logout system using sessions & hashed passwords
Build a full-featured Laravel app with:
- Authentication
- Database relationships
- REST API
- Frontend integration
- Deployment

Examples:
- Blog or CMS
- Inventory manager
- Booking system
- Expense tracker
Tools & Technologies Recommended Resources
  • PHP 8.x
  • Laravel 10+
  • Composer
  • MySQL
  • Git / GitHub
  • Postman
  • Laravel Breeze or Laravel UI
  • VS Code
  • Optional: Vue.js (for frontend enhancements)
Relational Databases
Course Description

This course will teach students the fundamentals of relational databases, including SQL syntax, data modeling, and database design principles.

Objectives of this course

By the end of this course, students will be able to Design and normalize relational databases, Use SQL effectively for CRUD operations and complex queries, Build RESTful APIs with backend frameworks (Python -Flask), Integrate relational databases into full-stack applications and Deploy full-stack applications to production environments.

Course Details
Course Code sop-webfb-100
Course Duration 14 weeks
Cost USD 100
Commitment 12 - 16 hrs./week
Tools Needed A stable internet connection for streaming videos is needed. (a Device [Phone, Tablet, or PC])
Prerequisite Course SQL fundamentals – sop-webfb-103
Weighted grade distribution - Passing Grade:
- Assignments:
- Final Examination:
Batches
Batch Start Date End Date
I January 5, 2025 April 19, 2025
II April 20, 2026 July 26, 2026
Course Outline
Week Topics Assessment
Week 1 (Module 1)
Introduction to Full Stack Development & Relational Databases
- What is full-stack development?
- Overview of client/server architecture
- Introduction to relational databases
- SQL vs NoSQL (brief)
- Tools: PostgreSQL/MySQL, pgAdmin, MySQL Workbench
Mini project:
Set up PostgreSQL, create a sample database, and connect with SQL CLI tools
Week 2 - 3 (Module 2)
SQL Fundamentals
- SELECT, INSERT, UPDATE, DELETE
- Filtering, sorting, and basic joins
- Primary keys, foreign keys
- Aggregate functions & GROUP BY
- Data types, constraints
Mini project: Build a simple SQL-only app
(e.g., library system, movie DB)
Week 4 (Module 3)
Advanced SQL & Database Design
- Database normalization (1NF, 2NF, 3NF)
- ERD (Entity Relationship Diagrams)
- Indexes, Views, Stored Procedures, Transactions
- Security best practices (SQL injection, roles)
Assignment: Design and normalize a database schema from a business case
Week 5 - 6   (Module 4)
Backend Fundamentals (Python + Flask)
- RESTful API principles
- Environment setup
- CRUD API with Flask
- Connecting to relational DB (SQLAlchemy ORM)
- Basic routing, middleware, error handling
Project: Build a REST API for your database schema
Week 7 - 8 (Module 5)
Full Stack Integration (Frontend + API + DB)
- Introduction to frontend integration (Basic HTML/CSS/JS)
- Fetching data from the API
- Form handling and POST requests
- Error handling and validation
- State management basics
Project: Connect frontend to backend CRUD API
(e.g., Task Manager or Blog app)
Week 9 (Module 6)
Authentication & Authorization
- User registration and login
- Password hashing
- session-based auth
- Role-based access control
Feature add-on: Add a login system to the previous app
Week 10 (Module 7)
Testing & Debugging
- Backend testing: Pytest
- SQL query debugging and logging
- Frontend unit and integration testing
- Postman for API testing
Assignment: Write unit tests for API endpoints and frontend components
Week 11 - 14 (Module 8)
Final Capstone Project
- Plan and build a complete full-stack app:
  o Example: Job Board, Budget Tracker, Inventory Manager, Learning Journal
- Implement all CRUD operations
- Secure with auth
- Include a polished frontend UI
Deliverables:
- ERD
- GitHub repo
- Live link
- Deployment walkthrough
Tools & Technologies Recommended Resources
Choose one stack throughout or allow variety:
  • Backend: Node.js + Express / Python + Flask / Django
  • Frontend: React / Vanilla JS / Bootstrap
  • Database: PostgreSQL / MySQL
  • ORMs: SQLAlchemy / Django ORM
  • Deployment: Render, Vercel, Railway, Supabase, Fly.io
Books:
  • Learning SQL by Alan Beaulieu
  • Designing Data-Intensive Applications by Martin Kleppmann (advanced)