Over the course of the semester, you will develop a database and web application to interact with that database. The resulting system should be usable by others – i.e., it is fully functional, supporting the expected set of operations for its users with a comprehensive user interface, and contains representative, real-world data to demonstrate its functionality. The project should be non-trivial but not so complex that it requires more than 5 weeks of work (approximately 30 hours total outside of class).

The project deliverables are organized as a series of assignments:

  1. Proposal
  2. ER diagram
  3. Schema design
  4. Website
  5. Application
  6. Peer evaluation

You may complete the project individually, but working with a team of 1–2 other students (2–3 team members total) is strongly encouraged. Teams will be expected to do more than individuals, but in practice, the total amount of work rarely grows linearly (e.g., writing a project proposal as a team might require 50% more time than writing the proposal individually).

Placing your name on a deliverable signifies that you have contributed significantly to its intellectual content and to its completion. Including your name when you have not satisfied these criteria will be considered to be a violation of the assignment’s Help Policy. It is expected that each student can provide documentation regarding their contribution(s) to each assignment if requested to do so. In addition, team members will complete a peer evaluation at the end of the project to provide feedback on individuals’ contributions and how well individuals work together as a team.

Ideas

You are strongly encouraged to pursue a project that is related to your capstone topic (if known) or your personal interests. You may propose a project that is related to another course’s project or assignments, but if you do so, you must 1) clearly identify what is unique to each course as part of the proposal and 2) notify and receive approval from the courses’ instructors prior to submitting the project proposal. Working on a project that is related to another one lessens the “start-up time” that is spent learning about the project.

The following projects will receive a 25-point bonus for their successful completion:

USAFA Transportation Office
Develop a web application to replace Microsoft Access for coordinating transportation requests and schedules for drivers
Falcon Telescope Network
Develop a web portal for the Falcon Telescope Network (POC: Francis Chun)

Projects related to a capstone or that require interaction with a client outside of this class will receive a 10-point bonus for their successful completion. Please note that you should discuss such projects with the instructor and client prior to submitting the project proposal.

Listed below are a number of additional ideas for consideration (please note that this list is not comprehensive).

Test question bank
Organize questions and answers, allowing unique versions of tests to be created automatically from the question bank while ensuring appropriate coverage of material
Fitness tracker
Record workout information and provide summary reports to improve personal fitness
Textbook swap
Collect textbook information and create listing for students to sell them “offline” the next time that a course is offered
Squadron / team feedback system
Track comments and ratings for inspections, etc.
Stock portfolio (or personal finance) tracker
Record transactions and stock positions (gains or losses) or difference from budget allocations
Competition “ladder”
Organize sports games (tennis, racquetball, Mario Kart, etc.) based on skill level with participants moving up or down the ladder based on the results
Database for non-profit
Track members, donations, specialized needs, etc. for a specific non-profit organization
Tutoring
Volunteer expertise in particular subjects (or courses) so that those struggling know where to find help
Auctions
Create a private version of eBay or Amazon Marketplace
Student / alumni database
Maintain information about students (courses completed, GPA, graduation year, job(s), etc.)
Multimedia database
Store photographs, songs, movies, etc. along with metadata so that the content is searchable and sharable