Overview of Project 1

In Project 1, you will build a substantial real-world database application of your choice. This project is split into three parts:

  • Part 1: come up with a web application and design the database on paper using ER-modeling.
  • Part 2: implement your database by translating your model into a database schema and example data.
  • Part 3: you have two options: (3a) implement a web front-end or (3b) expand your schema design.
    • 3a: you will implement an application in Python to read and write to the database, through a user-facing web front-end.
    • 3b: you will sebstantially expand your database design and incorporate it into your database from part 2. No Python programming is needed.

Pick an application that you will enjoy working with, because you will be working on it for a substantial part of the semester!
Try to pick an application that can be populated with real data, since it will make the application more interesting.

You will implement your web application Google Cloud. You'll be able to share the URL with your friends. It'll be awesome. See programming.md for details.

Summary of Deadlines

See the course schedule for the deadlines

Note: you can only use late days for the project description submisson, not for finding a teammate nor for meeting with the staff. Please read the Project Lateness Policy carefully.

Teams of exactly 2

  • Use the class discussion board to find teammates!
  • Simply write the name and UNI of both members when submitting part 1.
  • Write a contingency plan in case your teammate drops the class.

Important notes:

  • If you decide to drop the class, or are even remotely considering doing so, please be considerate and notify your team-mate immediately.
  • Do not wait until the day before the deadline to start working on the project, only to realize that your team-mate has dropped the class or moved to another planet. It is your responsibility to start working on the project and spot any problems early. You should be working together
  • Please check the Collaboration Policy web page for important information of what kinds of collaboration are allowed for projects.

Getting Help

We strongly suggest you use the following approach when you encounter bugs. This is basically what professional software engineers and data scientists do:

  1. Use Google or StackOverflow by searching for the error message
  2. Look for previous answers on the discussion board
  3. Ask on the discussion board. Include the following in your question:
    • what you're trying to do
    • describe the approach you took
    • the error message
    • what solutions you've tried
  4. Ask the staff in OH