Module Title: Advanced Programming
Module Code: KF7014
Academic Year / Semester: 2024–2025 / Semester 2
Module Tutor: Dr Maria Salama
Email: maria.salama@northumbria.ac.uk
Assessment Title: Summative Assessment – Development of Microservices-Based Application
Assessment Weighting:


Key Dates

EventDateTime
Handout to StudentsWeek Commencing 3rd February 2025
Individual Component Submission20th March 20254:00 PM
Group Component Submission22nd May 20254:00 PM
Feedback and Marks ReturnedWeek Commencing 16th June 2025
Group DemonstrationsWeek Commencing 26th May 2025During working days (on campus)

Submission Guidelines


Learning Outcomes (LOs) Assessed


Assessment Overview

You will develop an IoT-based microservices application to monitor water quality in the Tyne River. The project involves:


Individual Component (60%)

Functional Requirements

You will develop:

  1. Monitoring Microservice:
    • Reads CSV records every 30 seconds.
    • Stores each record (with UUID & timestamp) in a permanent database.
  2. Water Quality Microservice:
    • Reads one record at a time from the Monitoring Microservice.
    • Calculates Total Dissolved Solids: bashCopyEditTDS = CUSOL1 (mg/l) + (CUSOL2 + FESOL1 + ZNSOL) converted from µg/l to mg/l
    • Checks each parameter against WHO limits and sets a Green/Red flag.
    • Flags are not stored.
  3. Testing Project:
    • Unit tests for both microservices.
  4. Data Folder:
    • Includes the permanent database and sample data records.

WHO Drinking Water Limits

ParameterWHO Limit
Turbidity5 NTU
pH6.5 – 8.5
Alkalinity500 mg/l
Conductivity2000 µS/cm
Nitrite< 1 mg/l
Total Dissolved Solids1000 mg/l

Technical Requirements


Individual Technical Documentation (PDF Report)

Sections to include:

  1. Architecture Diagram – Interactions between microservices
  2. Database Schema – Tables, fields, and relationships
  3. Class Diagram – Classes, interfaces, methods, attributes
  4. API Documentation – Endpoints, HTTP methods, requests/responses, error codes
  5. Critical Evaluation (~500 words) – What went well, what could improve
  6. References – Any libraries, tools, or documentation used

Group Component (40%)

Functional Requirements

  1. Modular Front-End Web App:
    • Each member builds a module that consumes their microservice.
    • UI should show:
      • Latest safety flags per river (live updates).
      • Monthly averages of all parameters per river and overall.
  2. User Authentication:
    • Java-based auth system
    • Features: Create/Delete Users, Change Password (Encrypted)
    • In-memory database only
  3. Technical Details:
    • Front-End: React
    • Back-End: Java
    • RESTful communication
    • Modular design
    • Error handling & code documentation
    • No data stored for flags or averages

Quality Standards


Group Reflective Account (PDF Report)

Includes:

  1. Reflection on Developed Solution:
    • Social, Ethical, Security Concerns (~200 words)
    • Critical Evaluation (~200 words)
  2. Agile Development Reflection:
    • Agile Method (~200 words)
    • Agile Iterations (~200 words)
  3. Personal Reflections:
    • 400 words per student on working in Agile, learning outcomes, and skill development
  4. Appendices:
    • Appendix 1: Project Plan (Sprints, Tasks, Assignments)
    • Appendix 2: Logbook (Meetings, Notes, Progress)
    • Appendix 3: Peer Assessment Forms (Signed by all group members)

Group Demonstration

Leave a Reply

Your email address will not be published. Required fields are marked *