COMP 305: Object-Oriented Software Design

University of San Diego, Fall 2025

Course Project

The course project is a domain-driven CRUD application using vanilla web technologies, demonstrating modern software engineering practices while following user-focused principles.

Project Overview

This project serves as a practical application of the concepts covered throughout the course, bringing together:

Key Learning Objectives

Technology Stack

Core Technologies

No Frameworks Required

This project emphasizes understanding the fundamentals by building with vanilla web technologies. You'll gain a deeper appreciation for what frameworks do by implementing functionality from scratch.

Project Requirements

Functional Requirements

Technical Requirements

Engineering Practices

Example Project Domains

Choose a domain that interests you. Some examples include:

Assessment Criteria

Projects will be evaluated based on:

Getting Started

  1. Choose Your Domain - Pick a domain that interests you or propose your own
  2. Plan Your Design - Sketch out the user interface and data model BEFORE you get going
  3. Set Up Repo and Pipeline Early - Make sure your repo and build process accelerates you
  4. Build Incrementally - Start with basics and add features
  5. Test as You Go - Write tests for new functionality (TDD or test near coding)
  6. Document Your Work As You Go - Keep your README and code comments up to date
  7. Refactor Regularly - Improve code quality throughout development

Resources

Tips for Success