INFOSYS 222 2024S2 A1P2 CROWDFUNDING APPMatlab

Java Python INFOSYS 222 2024S2 A1P2

CASE STUDY: CROWDFUNDING APP

You are tasked with designing the database for a new crowdfunding web application aimed at supporting students at the University of Auckland in turning their innovative ideas into startups. The application allows students to create and manage projects, receive backing from other users, and  track the progress and success of their projects.

Each user has a unique ID, name, email, password, and role (i.e. student, mentor, or investor). A user can create multiple projects, back multiple projects, and mentor multiple projects. Additionally, an existing user can refer a new user to the platform.

Project, which is created by a user, has a unique ID, title, description, creation date, deadline, funding goal, and current amount funded. A project can belong to multiple categories and has multiple mentors. Each category, in turn, has a unique ID and name, and can include multiple projects.

Backing records the financial contribution from a user to a project which includes the amount and date. Each backing is associated with a single project; a user can back many projects, and a project can have multiple backers. Additionally, each backing can be associated with zero or one reward. A reward, offered by project creator to backer who pledges at or above a minimum backing amount, has a maximum number that can be given out for the project. One project can have multiple rewards. A transaction records the financial details of each backing, includes the amount, date and payment method.

Mentorship tracks the involvement of mentor with project, including the start date. Each mentorship is associated with a single project; a user can mentor multiple projects, and each project can have multiple mentors.

An update is posted by the project creator on a date to provide information about the p INFOSYS 222 2024S2 A1P2 CROWDFUNDING APPMatlab roject’s progress. Each project can have multiple updates. Comment, which can be left by a user on a project,  includes a date. A user can comment on multiple projects, and a project can have multiple comments.

QUESTION 1 (12%)

Draw a logical ERD in crow’s foot notation for the case described. Make sure to indicate all relevant entity sets, attributes, primary keys, foreign keys, relationships with cardinalities, and existence dependencies. Following good database design principle, the ERD should minimise redundancy.

Include verb phrases when it is helpful. Make sure you state 5-10 design decisions / assumptions clearly as part of your answer in order to get any mark.

QUESTION 2 (6%)

After you complete the design of the logical data model from the previous question, you are told that there is a change with the case specification:

•    Each user could assign themselves multiple roles instead of just one when they register

•    Each user could choose to follow another user; the database would capture when such request is made and also when the following is accepted and started

Define 2-5 new requirements / design decisions to accommodate the change of case specification. Draw a logical ERD in crow’s foot notation (by updating the one from previous question) that incorporates the new requirements and reflects the required changes. Make sure to indicate all relevant entity sets, attributes, primary keys, foreign keys, relationships with cardinalities, and existence dependencies. Following good database design principle, the ERD should minimise redundancy. Include verb phrases when it is helpful. Make sure you state 2-5 new requirements / design decisions clearly as part of your answer in order to get any mark         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值