Due May 1 at 4:00pm
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
.envfile - 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)
| Category | Excellent (Full Credit) | Adequate (Partial) | Needs Work (Low) | Points |
|---|---|---|---|---|
| Functionality & Completeness | Fully working system; cohesive; all core features implemented; stable | Mostly works; minor bugs or incomplete features | Major features missing or broken | /25 |
| Scope & Design Judgment | Appropriate scope; complete subset delivered; thoughtful design | Scope slightly off; some overreach or underdevelopment | Overly ambitious with many incomplete parts | /10 |
| UI / UX | Clean, consistent, usable interface; thoughtful layout | Usable but inconsistent or rough | Hard to use or poorly organized | /10 |
| Database & CRUD | 2–3+ well-designed tables; proper relationships; full CRUD where appropriate | Basic schema; partial CRUD | Poor schema or missing CRUD functionality | /15 |
| API & Backend Logic | Clear API; correct routes; meaningful business logic | Basic API; limited logic | Weak or broken API; minimal logic | /15 |
| Deployment (PM2) | Running correctly on assigned port via PM2 | Runs with issues or inconsistent setup | Not deployed or not working | /10 |
| README Documentation | Complete: overview, usage, install, schema, API | Missing one or two sections | Incomplete or unclear | /10 |
| CI/CD | CI tests present and working; CD script functional | CI/CD partially implemented | Missing or nonfunctional | /5 |
| AI Reflection | Specific, thoughtful, reflective; includes real examples | General reflection; somewhat vague | Minimal or generic response | /10 |
Total: /100
