Description
You will develop a web-based application with a database back-end for storage and retrieval of data. Choose your own adventure: select a subject matter related to your major or personal interests.
Examples
Some recent CS108 projects have included:
- Interactive dictionary for English/Junta language translation
- Inventory system for chemistry lab / reactive agents
- Social network for a gardening club
- High school basketball win/loss records & standings
- Fisheries information tracking endangered species
- Geographic information system for archeology dig
- Compact disc inventory and sales
- Calorie counting database/user interface
- Local artists list their works for sale (with pictures)
- Car rental and return
- Special of the day listing for restaurant
Detailed Requirements
You should begin by picking a concrete but simple interaction and modeling the data and functionality to implement it. For example, in a car rental application you might show a list of cars and allow a customer to complete a rental for one car. Start small; you can always add more interactions and details after you get the first one working.
Your application will model some kind of useful function, with a web-based interface (HTML) and data storage in a relational database (MySQL). A single interaction might be sufficient for this project, but a single web page certainly is not. You should have multiple web pages with logical transitions between the pages using buttons or links.
Projects must demonstrate reading from, inserting into, and updating database tables from your web interface. Points will be awarded for the general complexity of the project, with more complex projects scoring higher than very simple projects that mimic in-class requests. After your work is functionally complete, you should enhance the look and feel of the application as the aesthetics (colors, images and fonts) will count for a small portion of your grade.
Topic Proposal
Your proposal should be brief (about 3 sentences) and describe the general subject matter (e.g., car rental), the specific interaction you will model (e.g. car selection and checkout) and the data you will require for this interaction (e.g., table of cars, table of customers, table of rentals which matches cars with customers).
Data Requirements
What kind of data will your application need to interact with? Describe the data in terms of records and fields. What attributes does each record need to have? How will you uniquely identify a record?
Make up some sample data (about 5 records) so that you can use to begin thinking about and testing the program’s interactions. You might want to use a spreadsheet program like Excel to create these records, which will also enable importing them into the database later. We will demonstrate how to create tables and records in MySQL at the scheduled lab session this week.
Planning Your Time
You have 4 weeks to complete this project. Here are some guidelines on what you should be working on at what time:
roject Demonstration Video
You will present your project by making a short (2-3 minute) video screen capture, with you narrating as you demonstrate the application. Think about this as a demonstration for a potential customer or employer. This will speed the grading, and provide you with a lasting artifact of your work, which you can demonstrate to potential employers. Your demonstration should not show any code or database records, but must demonstrate every major feature of your application.
I recommend that you write a brief outline of what you will show in which order. Then, use a screen capture tool (I suggest QuickTime player for Mac or Tiny Take for Windows or any similar program). Record your video, and post it to YouTube (a private/unlisted URL is fine).