Full Stack Development
Learn modern full-stack techniques using industry tools. Perfect for beginners entering the development field.
អ្វីដែលអ្នកនឹងរៀន
- fullstack
- web-development
- programming
Course Description
Full Stack Development is a comprehensive course that equips students with the skills required to design, develop, test, deploy, and maintain modern web and mobile applications. Students will learn both frontend and backend development technologies, database design, API development, cloud deployment, security, DevOps practices, and modern software architecture.
The course emphasizes hands-on learning through real-world projects using industry-standard technologies such as React, Next.js, Spring Boot, PostgreSQL, Docker, Git, and cloud platforms. By the end of the course, students will be able to build scalable enterprise applications from frontend interfaces to backend services and databases.
Course Learning Outcomes
Upon successful completion of this course, students will be able to:
- Understand software development lifecycle (SDLC).
- Design responsive and user-friendly web applications.
- Develop frontend applications using modern JavaScript frameworks.
- Build RESTful APIs and backend services.
- Design and manage relational databases.
- Implement authentication and authorization mechanisms.
- Integrate frontend and backend systems.
- Deploy applications using Docker and cloud platforms.
- Apply software architecture and design patterns.
- Develop complete full-stack applications using industry best practices.
Course Outline
Module 1: Introduction to Full Stack Development
Topics
- Introduction to Web Applications
- Client-Server Architecture
- Frontend vs Backend Development
- Monolithic vs Microservices Architecture
- Software Development Lifecycle (SDLC)
- Development Tools and Environment Setup
Lab Activities
- Install Development Environment
- Create First Web Application
Module 2: Web Fundamentals
Topics
- HTML5
- CSS3
- Responsive Web Design
- JavaScript Fundamentals
- ES6+ Features
- Browser Developer Tools
Lab Activities
- Personal Portfolio Website
- Responsive Landing Page
Module 3: Frontend Development with React
Topics
- React Fundamentals
- Components
- JSX
- Props and State
- Event Handling
- React Hooks
- Routing
- Forms and Validation
Lab Activities
- Task Management Application
- Student Management UI
Module 4: Modern Frontend with Next.js
Topics
- Introduction to Next.js
- File-Based Routing
- Server Components
- Client Components
- API Routes
- Authentication
- SEO Optimization
- Deployment
Lab Activities
- Company Website
- Blog Platform
Module 5: UI Frameworks and Design Systems
Topics
- Bootstrap
- Tailwind CSS
- Ant Design
- Material UI
- Responsive Layout Design
- Component-Based Design
Lab Activities
- Admin Dashboard
- E-Commerce UI
Module 6: Backend Development with Spring Boot
Topics
- Spring Boot Fundamentals
- REST API Development
- Controller Layer
- Service Layer
- Repository Layer
- Validation
- Exception Handling
Lab Activities
- Customer Management API
- Product Management API
Module 7: Database Design and Development
Topics
- Database Fundamentals
- ER Diagram
- Normalization
- PostgreSQL
- SQL Queries
- Indexing
- Transactions
Lab Activities
- Design Database Schema
- Create Database Tables
Module 8: Spring Data JPA and Hibernate
Topics
- ORM Concepts
- Entity Mapping
- Relationships
- Query Methods
- JPQL
- Pagination
- Auditing
Lab Activities
- Library Management System
- Inventory Management System
Module 9: Authentication and Security
Topics
- Authentication Concepts
- JWT Authentication
- OAuth2
- Role-Based Access Control (RBAC)
- Spring Security
- Keycloak Integration
Lab Activities
- Secure REST APIs
- User Login and Registration
Module 10: API Integration
Topics
- REST API Integration
- Axios
- Fetch API
- API Documentation
- OpenAPI / Swagger
- Postman Testing
Lab Activities
- Connect React to Spring Boot APIs
- CRUD Operations
Module 11: Microservices Architecture
Topics
- Microservices Fundamentals
- Service Discovery
- API Gateway
- Configuration Management
- Inter-Service Communication
- Distributed Systems Concepts
Technologies
- Spring Cloud
- API Gateway
- Config Server
- Service Registry
Lab Activities
- Build Microservices System
Module 12: Messaging and Event-Driven Architecture
Topics
- Message Queues
- Event-Driven Systems
- Apache Kafka
- Producers and Consumers
- Asynchronous Processing
Lab Activities
- Notification Service
- Order Processing System
Module 13: DevOps and Containerization
Topics
- Git and GitHub
- Docker Fundamentals
- Docker Compose
- CI/CD Pipelines
- Environment Management
Lab Activities
- Containerize Full Stack Application
- Deploy with Docker Compose
Module 14: Cloud Deployment
Topics
- Cloud Computing Fundamentals
- VPS Deployment
- Nginx Configuration
- SSL Certificates
- Monitoring and Logging
Lab Activities
- Deploy Application to Cloud Server
Module 15: Software Architecture and Best Practices
Topics
- Clean Architecture
- SOLID Principles
- Design Patterns
- Repository Pattern
- Dependency Injection
- Logging and Monitoring
Lab Activities
- Refactor Existing Project
Module 16: Testing and Quality Assurance
Topics
- Unit Testing
- Integration Testing
- API Testing
- Frontend Testing
- Performance Testing
Lab Activities
- Write Automated Tests
Module 17: Capstone Project
Project Requirements
Students will develop a complete enterprise-level full-stack application including:
Frontend
- React / Next.js
- Tailwind CSS / Ant Design
- Responsive UI
Backend
- Spring Boot
- PostgreSQL
- JWT Security
- REST APIs
DevOps
- Docker
- GitHub
- CI/CD Pipeline
Optional Advanced Features
- Kafka
- Redis
- Keycloak
- Microservices
- Mobile Application Integration
Sample Capstone Projects
- Loan Origination System (LOS)
- Inventory Management System
- Human Resource Management System (HRMS)
- Learning Management System (LMS)
- Banking Portal
- E-Commerce Platform
- Hospital Management System
- Property Management System
- Freelance Marketplace Platform
- SaaS ERP System
Assessment Breakdown
| Assessment | Weight |
|---|---|
| Assignments | 15% |
| Lab Exercises | 20% |
| Midterm Project | 20% |
| Final Project | 35% |
| Attendance & Participation | 10% |
វគ្គសិក្សាបន្ថែម
មើលទាំងអស់Flutter Mobile Development
Flutter Mobile Development is a comprehensive course designed to teach students how to build modern, cross-platform mobile
Digital Marketing Mastery
Comprehensive course covering SEO, social media, content strategy, and analytics to build successful campaigns.
UI/UX Product Design
Learn user-centered design principles and master industry tools like Figma and Adobe XD.