B3 picture it
Release
Release status
-
I have started working on the assignment. -
All mandatory functional requirements are met. (see below) -
All mandatory non-functional requirements are met. (see below) -
I have completed the assignment report (see below). -
I have updated assignment-routes.jsonwith my specific endpoints. -
I am aware that I have to book a time slot for an oral exam after this MR has been submitted.
-
I intend to submit the assignment, and at the same time, I guarantee that I am the one who created the submitted code. When I have used external libraries or used code from other sources, the source has been clearly stated.
(Swedish: Jag avser göra en inlämning av uppgiften och samtidigt garanterar jag att det är jag som skapat den inlämnade koden. När jag använt externa bibliotek, eller använt kod från andra källor, har källan angetts tydligt.)
Requirement fulfillment
Functional Requirements
| Issue | Mandatory | Comment |
|---|---|---|
| #10 | ||
| #11 |
Non Functional Requirements
| Issue | Mandatory | Comment |
|---|---|---|
| #1 | ||
| #2 | ||
| #3 | ||
| #4 | ||
| #5 | ||
| #6 | ||
| #7 | ||
| #8 | ||
| #9 |
Student defined requirements
| Issue | Comment |
|---|---|
| #id |
Assignment report
Reflection
This assignment was a great way to understand how microservices work together in a real-world application. The biggest challenge was getting everything to communicate smoothly, especially when dealing with JWT authentication and the image upload process between services.
I learned a lot about:
- Deploying multiple services on a single server using NGINX as a reverse proxy
- Handling secure authentication with RS256 JWTs
- Communicating with external services using bearer tokens (like the Image Service)
- Writing modular, well-documented, and linted code
If I were to do this again, I’d plan my architecture and environment variables more clearly from the beginning — switching between local and production setup created some confusion at times. Also, automating deployment and testing with scripts would be a helpful next step.
Overall, it was a rewarding assignment that pulled together many skills from previous modules.