Assessment Plan

Individual Project Details

Due: April 17th
  • Details
    • An assay of at least 200 words on a topic selected from the EssayTopics file (one from Team).
    • A simple RESTful web service, A client and a core that will implement the CRUD operations.
  • Expected outcome:
    • The source code should be hosted in the individual github classroom repository.
    • At least the following requirements should be met:
      • The server should be able to receive HTTP requests from clients using the RESTful API.
      • The server should be able to respond to client requests with the appropriate HTTP status codes (e.g. 200 OK, 404 Not Found, etc.) and a response body in JSON format.
      • The server should have a database or other data storage mechanism to persist data sent by clients.
      • The server should implement CRUD operations (create, read, update, delete) for the data stored in the database.
      • The server should handle concurrent requests from multiple clients.
      • The server should validate incoming requests to ensure that they conform to the expected format and that the data being sent is valid.
      • The client should implement the full CRUD operations.
      • The client should be able to receive responses from the server in JSON format.
      • The client should display the data received from the server in a user-friendly way.

Team Project Details - Town

Due: May 19th
  • Details
    • A team of two students, to tackle a bigger project.
  • Expected outcome:
    • The source code should be hosted in the team github classroom repository.
    • At least the following requirements should be met:
      • The project should use web services technology (e.g. SOAP/REST) to allow clients to access the server's functionality.
      • The client should have a user-friendly interface that allows users to interact with the server's functionality, and implement at least the CRUD operations.
      • The MOM framework used should support load balancing to distribute incoming requests across multiple servers (at least two nodes should be used) to ensure that no single server becomes overloaded.
      • The MOM framework used should support failover to ensure that if one server fails, requests are automatically redirected to another available server to ensure continuous service.
      • The MOM framework used should provide message persistence to ensure that messages are not lost in the event of a server failure.
      • The MOM framework used should provide reliable message delivery to ensure that messages are delivered to their intended recipients, even in the event of a network failure or other disruption.
      • The MOM framework used should support message queuing to enable asynchronous communication between clients and servers.
      • The MOM framework used should be fully administered by the messages sent between the client and the message queue.
      • The project should be designed to scale horizontally to handle increasing numbers of clients and data volume.
      • The MOM framework used should provide security features to ensure the confidentiality, integrity, and availability of messages.
      • The project should be designed to work with existing MOM frameworks, such as Apache ActiveMQ, RabbitMQ, or KafkaMQ.

Final grade

  • You will receive a final grade only if you successfully submitted the details for both the individual and the team project.
  • Final Grade = IndividualGrade * 0.4 + TeamGrade * 0.6
  • If the above deadlines are not met for one of the projects in order to receive a grade you will need to attend the session exam.
    In this case the Final Grade = IndividualGrade * 0.4 + TeamGrade * 0.4 + Exam Grade * 0.2