This project is a cloud-based microservice application developed as part of a Cloud Computing course. It demonstrates modern practices in building, testing, and deploying scalable applications using cloud technologies and industry-standard tools.
The project focuses on creating a production-ready microservice that follows best practices in software development, including containerization, CI/CD, and cloud deployment.
- RESTful API built with Node.js & Express
- Secure authentication and authorization
- Cloud integration with AWS services
- Containerized using Docker
- Continuous Integration & Deployment with GitHub Actions
- Scalable architecture following microservices design patterns
- Local development with Docker Compose
- Integration with cloud storage (e.g., S3) and databases
- Backend: Node.js, Express
- Cloud: AWS (EC2, S3, DynamoDB, Cognito)
- DevOps: Docker, Docker Compose, GitHub Actions
- Testing: Jest, integration testing tools
- Version Control: Git & GitHub
Through this project, I gained hands-on experience with:
- Cloud architectures (IaaS, PaaS, SaaS, Serverless)
- Building and deploying scalable applications
- Writing and managing CI/CD pipelines
- Containerization and Docker best practices
- Working with AWS services and APIs
- Implementing secure authentication systems
- Developing and testing microservices in real-world scenarios
These concepts are based on the course structure and learning outcomes covered throughout the program.
- Node.js installed
- Docker installed
- AWS account (optional for cloud deployment)
git clone https://github.com/your-username/your-repo.git
cd your-repo
npm installnpm installdocker build -t app .
docker run -p 8080:8080 appnpm testThis project can be deployed using:
- AWS EC2 for hosting
- AWS S3 for storage
- AWS ECS for container orchestration
- CI/CD pipelines via GitHub Actions
This project is based on work originally created by David Humphrey
I completed and implemented this project as part of my coursework, extending and applying the concepts to deepen my understanding of cloud computing and full-stack development.
Diba Makki Full-Stack Developer
This project is for educational purposes.