tallahassee, florida, 2015 cop4710 database systems project overview fall 2015
TRANSCRIPT
Tallahassee, Florida, 2015
COP4710
Database Systems
Project Overview
Fall 2015
Building a Database-driven Web-based Information System
• Project page:– http://www.cs.fsu.edu/~
zhao/cop4710fall15/project.html
• Team work– A group of 1 or 2 people
• Goal:– Identify an application domain that
• Requires a relational database• Accessible over the web (SQL APIs)
– Design the database & Define application functionalities
– Implement– Demo & report
• Milestone in 4 stages2
Multi-stage Task
• Stage 1: Group formation (name, member info)– Due: Thursday Sept. 10th
• Stage 2: A detailed description of your real-world application and the Entity-Relationship diagram– Due: Thursday Oct. 1st
• Stage 3: Development plan – Due: Thursday Oct. 29th
• Stage 4: Demo and final report – Due: Dec. 1st, 2nd
• Every stage has deliverables and must be approved by TAs to proceed to the next stage
3
Grading
• Project : 25 points*– You can choose to do a simpler project (20 points)
with no Web interface and access functionalities, with 5 points deduction
– Stage 1: 0%– Stage 2: 15%
• A one- or two-page report with the ER diagram of your application, plus English descriptions and assumptions you make
– Stage 3: 15%• A one or two-page report for development plan
– Stage 4: 70%• Final demo (55%)• 5- to 10-page report (15%)
4
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!
5
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?6
Project Requirements
• Basic functions:1. Insert records to the database
2. Search the database and print returned results• Must demo several interesting queries
• Aggregation queries
• At least one query must involve join of multiple tables
3. Show how to update records
4. Show how to delete records
7
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
• Data analytics using data mining or machine learning
– Not:• User-friendly interface or “I code the site with AJAX”
8
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 … …
9
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([email protected])
• 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 project10
Sample Projects
1. Ultimate Dining– http://www.youtube.com/watch?v=L_Wp_Y5yKoM
2. Social Cal– http://www.youtube.com/watch?v=0-E35guOuNw
3. Global Energy– http://www.youtube.com/watch?v=CimxRS7Bpsg
11
How to Implement a Web-based DB App?
Access the web appExample: IE, Firefox, iPhone, Chrome, Android
12
Interface
Presentation
Logic
Data
Renders information, generates webpagesExample: HTML, DHTML, XML, Javascript, CSS, Flash
Manage data access, performs calculations, makes logical decisionsExample: PHP, PSP, Perl, Java, Python, C/C++, Ruby
Stores and manages dataExample: MySQL, Oracle
Internet
Client
Server
How to Implement a Web-based DB App?
13
Interface
Presentation
Logic
Data
Web Programming
Database Programming
Tallahassee, Florida, 2015
This is your chance to work on
your dream
Questions?