Mr. Walker and his associates have tried to communicate this project abstractly and expect students to figure out and fill in all the missing details. You (students in CMPSC431W) will design a database-backed web application to buy/sell products on campus by members of the university and local community. You will also implement a prototype to demonstrate system functions and your design. As parts of the prototype, you will need to implement several programs to access data from the designed database to support the functionality of the system. The project consists of two phases:
1.Requirement Analysis, Conceptual Database Design, Technology Survey, Logical Database Design and Normalization.
Mr. Walker and Professor Lee ask you (students in CMPSC431W) to envision what NittanyMarket will be. Based on the provided project description, you need to analyze the requirements of NittanyMarket to determine the system’s functionality and to identify the data needed for the system’s functions. Furthermore, business rules (integrity constraints) need to be determined to be imposed upon the needed data. Based on your requirement analysis, you are also required to come up with a conceptual database design by using the entity-relationship model to express the data and constraints identified. Students shall also perform a technology survey by researching on the current web/database application technologies, including web frameworks,programming languages, development tools, and database management system, for comparison with those suggested by the CMPSC431W teaching team, i.e., Flask Web Framework, Python, PyCharm (or Spider) IDE, and SQLite. Logical database design and schema normalization are also to be performed in the first phase. Each student will submit a well-documented report for the tasks in Phase 1. After this detailed design process, in Phase 2, students will populate the database and implement the system functions.
Before we jump into the description of each phase, let’s talk about what you (students in CMPSC431W) are expected to fulfill while working on the project.
This is an INDIVIDUAL Project! Not a team project. Design and implementation should be done individually based on each student’s OWN ideas!
Document Report and Formatting
The project report should be written in your own words. Reusing (copying) parts or all of the project description directly not only receives no credit but also violate academic integrity in terms of Plagiarism!
We will provide a document template (as .docx file) that you are more than welcome to directly follow. However, you are encouraged to create a template of your own, as long as it maintains a professional image for your cover page and includes all the components from our provided template. You can also write your documents in LaTeX, MS Word, or other document typesetting languages or tools. Your report should be converted into one PDF file for submission electronically on Canvas.
The success of this project heavily relies on your own personal effort and commitment. As denoted on the Syllabus and Course Schedule, the project is segmented into two phases. Thus, there will be no intermediate submissions except for a progress review before the final demo. Students are expected to set goals and maintain individual milestones, documented as part of the Phase 1 report.For those who do not have prior background on web programming, it is highly recommended to start reading documentation and tutorials during Phase I.
Since there are numerous web application tools and frameworks, it is impossible for the teaching staff to provide guidance on every combination of tools. While students have a choice to use the recommended platform and tools (i.e., Flask Web Framework, Python, PyCharm or Spider IDE (to be determined), and SQLite) which the teaching staff are more than happy to provide guidance, you may choose to adopt platforms, tools, programming languages and database management systems of your preference (but you are on your own in this case).