INFS605 Microservices Architecture – Design, Develop, Deploy Assessment 2
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Microservices Architecture – Design, Develop, Deploy
Assessment 2 – Programming Assignment 40%
INFS605 Microservices
Version 1.3
This assignment is worth 40% of your final grade for the course and is submitted on Canvas under the Assignments tab. It is due at 6 PM on Friday, 24 October 2025, New Zealand Daylight Time (NZST). This is an individual assignment.
Learning Outcome
Your learning outcome is to develop a microservices-based application with a focus on functional and non-functional requirements.
In this assignment, you are to imagine that you are working for a small startup company called Osborne.AI that wants to prototype a lightweight microservices-based application.
The product is to be a basic Student Services Dashboard, which consists of a few lightly coupled services that simulate functionality relevant to university operations.
Your task is to design, implement, containerize, and deploy a prototype of a small microservices-based system using Docker and Docker Compose either a) that will run on local hosting (for example, running a local web server architecture from terminal on Visual Studio Code or a similar IDE) or b) on your Ubuntu VM running on VirtualBox. The goal is to demonstrate your understanding of microservices principles and container-based deployment.
You will work individually and submit your code via Canvas. Your system should be made up of a minimum of 3 new services, running as separate Docker containers, and connected using docker-compose.
Technologies Required
• Ubuntu VM on VirtualBox (optional)
• Docker and Docker Compose
• Git or GitHub
• YAML
• PostgreSQL or MongoDB (you choose)
• (Optional) Python, Node.js, or Flask/FastAPI for backend services
Application Requirements
You will implement at least 3 new microservices from the list below (or propose your own):
Suggested Services:
• Student Profile Service – manages student data (name, email, programme, etc.).
• Course Catalogue Service – provides a list of courses with metadata.
• Feedback Service – allows students to submit feedback on courses.
• Notification Service – mock service that sends "emails" (log entries) when feedback is submitted.
• API Gateway (Optional Stretch) – routes requests to the correct microservices.
Functional Requirements
Your service architecture must expose a RESTful API with at least 2 endpoints.
Services should communicate (where applicable) via HTTP, TCP, or a simple message queue. A small front-end (or Postman test collection) should be provided to demonstrate service interaction (consider the structure of a set of specific User Acceptance Tests).
Non-Functional Requirements
Each service must run in its own Docker container.
Services must be defined in a docker-compose.yml file.
Include documentation and usage instructions in your repo.
System must support logging and basic error handling (optional).
Submission Requirements
A Zipped GitHub repo or local install with:
1. Code for all microservices
2. docker-compose.yml
3. Screenshots or screen recordings of the system running and any development processes or issues experienced.
4. README.md with instructions, directory structure, and architectural diagram.
Suggested Directory Structure
.gitignore docker-compose.yml
README.md (includes setup guide + architecture diagram)
student-profile/ app.py Dockerfile requirements.txt
files>...
.env.example (if needed for assessors to copy and use)
2025-10-17