140 likes | 159 Views
This project involves building a database-driven web-based information system in stages, from group formation to demo and final report. Choose a real-world application domain requiring a relational database accessible via the web. Implement, demo, and report on milestones. Pick a relevant project topic, such as academic, entertainment, or productivity systems, and meet basic and advanced functionality requirements. Use a favorite relational database and programming language. Follow project tips, select interesting project ideas, and implement the web-based database application with client interface, presentation, logic, and database programming.
E N D
CS4433Database Systems Project
Building a Database-drivenWeb-based Information System • Project page: http://www.cs.okstate.edu/~eakbas/cs4433/project.pdf • 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)(Due next Monday, Feb 4) • 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 : 40 points* • You can choose to do a simpler project (35 points) without Web interface but a GUI interface, with 5 points deduction • Stage 1: 0% • Stage 2: 15% • A 1 to 3-page report with the ER diagram of your application, plus English descriptions and assumptions you make • Stage 3: 15% • A 1 to 3-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 • 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 • Start early! • Unexpected issues • Form groups now! • Have a questions? • All programming related questions should be routed to our TA • 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 • http://www.youtube.com/watch?v=L_Wp_Y5yKoM • Social Cal • http://www.youtube.com/watch?v=0-E35guOuNw
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 Stores and manages data Example: MySQL, Oracle Data
How to Implement a Web-based DB App? Interface Presentation Web Programming Logic Database Programming Data