← Back to Project Home

Implementation Requirements

Application Implementation Specifications

This section specifies the requirements for the application implementation. The focus of evaluation is correctness, completeness, and alignment with the database design and functional requirements. Implementation choices are left to the student.

1. Programming Language and Technology

You may use any programming language or framework capable of connecting to a PostgreSQL database.

The application must use PostgreSQL as the database system. All required data must be stored in and retrieved from the database.

2. Application Structure

The application must be logically organized and maintainable. Source code must be readable and include comments where necessary to explain non-trivial logic.

A README file must be provided explaining how to configure and run the application.

3. User Interface

The application must provide a functional interface that allows users to execute all eight required operations.

The interface may be command-line, web-based, or desktop-based. Visual appearance is not graded. The interface must clearly demonstrate correct interaction with the database.

4. Role-Based Access Control

The application must enforce three distinct user roles: member, trainer, and administrative staff.

Each role must only be able to access operations relevant to that role. Role restrictions must be enforced by the application logic.

5. Function Implementation Requirements

Each of the eight required operations must be implemented.

Each operation must execute independently, interact with the database using SQL, use data stored in the database (no hard-coded data), perform validation, and handle error cases gracefully.

The implementation must clearly demonstrate correct system behavior under both valid and invalid inputs.

6. Database Interaction

All database interaction must be performed using SQL queries executed against PostgreSQL.

Connection failures and database errors must be handled gracefully by the application.

7. Code Organization and Documentation

Project files must be organized logically. The ER diagram and schema documentation must be included in the submission.

A README file must describe how to set up the database, how to run the application, and any assumptions made.

Optional: ORM Usage (No Impact on Core Requirements)

Students may choose to use an Object-Relational Mapping (ORM) framework.

Using an ORM does not replace or remove any required database deliverables. All required schema artifacts (visual schema, DDL.sql, DML.sql) must still be submitted and must match the implemented database structure.

ORM usage is evaluated only as an implementation choice and does not affect grading unless explicitly stated elsewhere.

Important Notes: All required operations must be implemented and demonstrable. The application must rely on the database for all persistent data. Missing or incomplete functionality will result in loss of marks.