Practical Project: Cloud-Based Web Application
Development
Dr. Moez Krichen
email: [email protected]
2024-2025
Project Overview
Students will design and implement a cloud-based web application using a cloud service
provider (e.g., AWS, Azure, or Google Cloud). The application will demonstrate cloud
concepts such as scalability, security, and deployment strategies.
Project Objectives
1. Understand cloud service models (IaaS, PaaS, SaaS).
2. Develop a functional web application using cloud technologies.
3. Implement security best practices in cloud environments.
4. Deploy the application to the cloud and manage its lifecycle.
5. Evaluate the application’s performance and scalability.
Project Requirements
1. Application Type: Choose one of the following:
• A task management application
• A simple e-commerce platform
• A blogging platform
2. Technology Stack:
• Frontend: HTML, CSS, JavaScript (Frameworks like React, Angular, or Vue.js
are encouraged)
• Backend: Node.js, Python (Flask/Django), or Java (Spring Boot)
• Database: MongoDB, PostgreSQL, or MySQL
3. Cloud Services:
1
• Use at least one cloud service for hosting (e.g., AWS EC2, Google App Engine).
• Implement a database service (e.g., AWS RDS, Google Cloud SQL).
• Utilize cloud storage for assets (e.g., AWS S3, Google Cloud Storage).
4. Deployment:
• Set up CI/CD pipelines using tools like GitHub Actions, Jenkins, or AWS
CodePipeline.
• Containerize the application using Docker and deploy it using Kubernetes or
a serverless architecture (AWS Lambda, Google Cloud Functions).
5. Security:
• Implement user authentication and authorization (e.g., using OAuth).
• Use HTTPS for secure communication.
• Apply best practices for data security and privacy.
Project Deliverables
1. Project Report: Include the following sections:
• Introduction and Objectives
• Technology Stack Overview
• Cloud Services Used
• Application Architecture Diagram
• Implementation Steps
• Security Measures Taken
• Performance Evaluation
• Lessons Learned
2. Source Code: Provide a link to a GitHub repository containing the complete
source code.
3. Demo: Present a live demo of the application, showcasing its features and func-
tionalities.
Evaluation Criteria
1. Functionality: Does the application work as intended?
2. Cloud Integration: How well are cloud services utilized?
3. Code Quality: Is the code well-structured and documented?
4. Security: Are security best practices followed?
5. Presentation: How clearly is the project presented to the class?
2
Timeline
• Week 1-2: Requirement analysis and planning
• Week 3-4: Development of the application
• Week 5: Deployment and testing
• Week 6: Preparation of the project report and presentation
Tools and Resources
• Cloud Provider Documentation: AWS, Google Cloud, or Azure documentation
• GitHub: For version control and collaboration
• Docker: For containerization
• Kubernetes: For orchestration (if applicable)