Final Project Working System Submission

Due May 1 at 4:00pm

Moodle

For the final project, you will submit a complete working version of your full-stack web application.

Your project should be a cohesive React / Node.js / MariaDB / Bootstrap application of your own design. You have already proposed the project, designed the database, planned the API, selected an authentication method, defined the user interface, and added CI/CD scripts. The final submission is where these pieces must come together into a working, reliable system.

The goal is not to build an enormous system where many pieces only partially work. If your original design was too ambitious, you should deliver a complete, polished, working subset. A smaller system that works well is much better than a large system where many features are broken or unfinished.

Core Requirements

Your application must:

  • Be a complete, cohesive web application
  • Use React, Node.js, MariaDB, and Bootstrap
  • Have a clean and usable interface
  • Include meaningful business logic
  • Include at least 2–3 database tables
  • Include full CRUD functionality where appropriate
  • Include authentication or a clearly defined user/access model
  • Include working API routes
  • Include CI tests
  • Include CD deployment scripts
  • Be running on your assigned port using PM2 on:

10.192.145.179

What to Submit on Moodle

Submit the following on Moodle by May 1.

1. GitHub Repository Link

Submit a link to your GitHub repository.

The repository may be public, or you may share it with me as a collaborator.

Your GitHub repository must include a complete README.md file.

The README must include:

Project Overview

Explain what your application does.

Include:

  • The purpose of the application
  • Who the intended users are
  • The main features
  • What problem the application is trying to solve

How to Use the Application

Explain how a user interacts with the system.

Include:

  • How to log in, if applicable
  • What the main pages do
  • What a normal user workflow looks like
  • Any test accounts or sample data needed to try the system

How to Install and Run the Application

Explain how to install and run the project.

Include:

  • Required software
  • How to install dependencies
  • How to configure the .env file
  • How to create or load the database
  • How to build the React frontend
  • How to start the server
  • How to run the application with PM2

Database Schema

Include your database schema.

This may be:

  • SQL table definitions
  • A clear table-by-table description
  • A diagram plus explanation

For each table, explain what it stores and how it relates to the other tables.

API Documentation

Document your API.

For each major API route, include:

  • HTTP method
  • Route path
  • Purpose
  • Required inputs
  • Returned data
  • Any authentication requirements

Example:

GET /api/books

Purpose: Returns all books in the system.

2. AI Reflection

Submit a reflection on what you learned from using AI as a coding and design assistant.

Your reflection should discuss:

  • How you used AI during the project
  • Where AI was helpful
  • Where AI made mistakes or gave incomplete answers
  • How you checked, tested, or corrected AI-generated code
  • What you learned about guiding AI effectively
  • What you learned about your own role as the developer
  • What you would do differently next time

This should not be a generic statement like “AI helped me code faster.” Be specific. Discuss real examples from your project.

Grading Emphasis

The strongest projects will be:

  • Complete
  • Functional
  • Reliable
  • Clearly documented
  • Easy to use
  • Visually polished
  • Well tested
  • Successfully deployed
  • Honest about scope

A complete working subset is better than a partially working “everything.”

Final Project Submission Rubric (May 1)

CategoryExcellent (Full Credit)Adequate (Partial)Needs Work (Low)Points
Functionality & CompletenessFully working system; cohesive; all core features implemented; stableMostly works; minor bugs or incomplete featuresMajor features missing or broken/25
Scope & Design JudgmentAppropriate scope; complete subset delivered; thoughtful designScope slightly off; some overreach or underdevelopmentOverly ambitious with many incomplete parts/10
UI / UXClean, consistent, usable interface; thoughtful layoutUsable but inconsistent or roughHard to use or poorly organized/10
Database & CRUD2–3+ well-designed tables; proper relationships; full CRUD where appropriateBasic schema; partial CRUDPoor schema or missing CRUD functionality/15
API & Backend LogicClear API; correct routes; meaningful business logicBasic API; limited logicWeak or broken API; minimal logic/15
Deployment (PM2)Running correctly on assigned port via PM2Runs with issues or inconsistent setupNot deployed or not working/10
README DocumentationComplete: overview, usage, install, schema, APIMissing one or two sectionsIncomplete or unclear/10
CI/CDCI tests present and working; CD script functionalCI/CD partially implementedMissing or nonfunctional/5
AI ReflectionSpecific, thoughtful, reflective; includes real examplesGeneral reflection; somewhat vagueMinimal or generic response/10

Total: /100

Scroll to Top