COP4710 Database Systems Project Overview
Building a Database-driven Web-based Information System Project page: http://www.cs.fsu.edu/~zhao/cop4710fall17/project.html Team work A group of 1 up to 3 people Goal: Identify an application domain that Requires a relational database Accessible over the web (via SQL APIs) Design the database & Define application functionalities Implement Demo & report Milestone in 4 stages
Multi-stage Task Stage 1: Group formation (name, member info) Stage 2: A detailed description of your real-world application and the Entity-Relationship diagram Stage 3: Development plan and relation definitions Stage 4: Demo and final report Every stage has deliverables and must be approved by TAs to proceed to the next stage
Grading Project : 30 points* You can choose to do a simpler project (25 points) without Web interface but a GUI interface, with 5 points deduction Stage 1: 0% Stage 2: 15% (submit via an email attachment to Esra Akbas) A one- or two-page report with the ER diagram of your application, plus English descriptions and assumptions you make Stage 3: 15% (submit via an email attachment to Esra Akbas) A one or two-page report for development plan with schema definitions Stage 4: 70% Final demo (55%) 5- to 10-page report (15%)
How to choose a good project topic? Your application must be useful Will there be people using your application? Why should they use your application? Your application must be realistic Your data are supposed to be real Where do you get your data? Amount of data in database must be reasonable You should have fun Find an application you like to do and have fun with it Remember that your application could be the next startup!
Some Interesting Project Idea Academic: Course material search, project partner search , … Entertainment: Book recommendation, music/playlist sharing, fantasy football analysis, …. Productivity systems: Task management, human resource management, … Healthcare: Physician recommendation Social Media: Facebook/Twitter mashup , … What is your crazy idea?
Project Requirements Basic functions: Insert records to the database Search the database and print returned results Must demo several interesting queries Aggregation queries At least one query must involve join of multiple tables Show how to update records Show how to delete records
Project Requirements Advanced Functions: Should be relevant and useful for your application Don’t exist or aren’t efficiently supported in equivalent web sites/applications Go beyond the basic functions Should be technically challenging Examples: Creative use of Google Map or multiple social media Data analytics using data mining or machine learning Not: User-friendly interface or “I code the site with AJAX”
How to Do Programming Pick one of your favorite relational databases MySQL (recommended) PostgreSQL (recommended) SQLite Oracle, DB2, MS SQL Server …… Pick one of your favorite programming languages PHP (recommended) Python, Ruby, Perl Java, C# C/C++ Platform LAMP (XAMPP)/IIS … …
Project Tips Read Projects page on our course website to get started Start early! Unexpected issues Form groups now! Have a questions? All programming related questions should be routed to our TA, Esra Akbas(akbas@cs.fsu.edu) Academic integrity Work closely with your group-mate, copy/plagiarism among groups are prohibited If you consult open source projects on the Web, cite them properly in your project
Sample Projects Ultimate Dining Social Cal Global Energy http://www.youtube.com/watch?v=L_Wp_Y5yKoM Social Cal http://www.youtube.com/watch?v=0-E35guOuNw Global Energy http://www.youtube.com/watch?v=CimxRS7Bpsg
How to Implement a Web-based DB App? Access the web app Example: IE, Firefox, iPhone, Chrome, Android Interface Client Renders information, generates webpages Example: HTML, DHTML, XML, Javascript, CSS, Flash Presentation Internet Manage data access, performs calculations, makes logical decisions Example: PHP, PSP, Perl, Java, Python, C/C++, Ruby Logic Server Data Stores and manages data Example: MySQL, Oracle
How to Implement a Web-based DB App? Interface Presentation Web Programming Logic Database Programming Data
This is your chance to work on your dream Questions?