Project | CMSC 240 Software Systems Development - Fall 2023

Project: C++ Web Service

Project Description

This project aims to provide hands-on experience in designing and implementing a web service using the Crow framework, a high-performance C++ micro web framework. Teams will have the creative freedom to propose their own web service ideas.

This project presents an opportunity for teams to creatively explore web service development, leveraging the power of C++ and Crow, while also emphasizing the importance of design, testing, and documentation in software development.

Instructions

  1. Complete all of the work in a Group GitHub repository: https://classroom.github.com/a/klIieHru
  2. Name your group using a combination of the first names of the group members.

Team Formation

Team Size:

Roles and Responsibilities:

Part 1: Team Creation and Proposal

Due: Friday November 3rd before lab

Task:

Deliverable:

Part 2: Design Document Creation

Due: Thursday November 9th by 11:59 PM

Deliverable:

Part 3: Implementation

Due: Friday December 1st by 11:59 PM

Requirements:

  1. The implementation shall have a minimum of four classes.
  2. The implementation shall demonstrate a minimum of one instance of composition.
  3. The implementation shall demonstrate a minimum of one instance of inheritance.
  4. The implementation shall demonstrate a minimum of one instance of templates.
  5. The implementation shall save the resources to a file after the Crow web service app is stopped.
  6. The implementation shall read the resources from a file before the Crow web service app is started.
  7. The implementation shall include a Makefile with an all, clean, executable, and individual targets for each cpp file.

Deliverable:

Part 4: Unit Testing

Due: Friday December 8th by 11:59 PM

Deliverable:

Project Grading Rubric

Part 1: Team Creation and Proposal (Total: 5 points)

Clarity and Quality of Proposal (5 points)

Part 2: Design Document Creation (Total: 25 points)

Comprehensiveness of Design Document (10 points)

Use Case Descriptions (5 points)

List of Endpoints (5 points)

UML Diagram Quality (5 points)

Part 3: Implementation (Total: 50 points)

Implementation of Classes and Relationships (15 points)

Data Persistence (10 points)

Makefile and Build Process (10 points)

Functionality of Web Service (15 points)

Part 4: Unit Testing (Total: 20 points)

Coverage and Depth of Testing (10 points)

Quality and Reliability of Tests (10 points)