Entities and Attributes of Crowdfunding Platforms
Entities serve as the building blocks of our database, representing the fundamental objects or concepts that need to be stored and managed. Attributes define the characteristics or properties of each entity. Let’s explore each entity and attribute in detail:
1. Campaign
- campaign_id (Primary Key): Unique identifier for each campaign.
- title: Title of the campaign.
- description: Description of the campaign.
- goal_amount: Fundraising goal amount.
- start_date: Start date of the campaign.
- end_date: End date of the campaign.
- status: Status of the campaign (e.g., active, completed).
2. Donation
- donation_id (Primary Key): Unique identifier for each donation.
- campaign_id (Foreign Key referencing Campaign): Identifier of the campaign for which the donation is made.
- user_id (Foreign Key referencing User): Identifier of the user donating.
- amount: Donation amount.
- donation_date: Date and time of the donation.
3. User
- user_id (Primary Key): Unique identifier for each user.
- username: Username of the user.
- email: Email address of the user.
- role: Role of the user (e.g., donor, campaign creator).
4. Project
- project_id (Primary Key): Unique identifier for each project.
- title: Title of the project.
- description: Description of the project.
- start_date: Start date of the project.
- end_date: End date of the project.
- status: Status of the project (e.g., in progress, completed).
How to Design a Database for Crowdfunding Platforms
Crowdfunding and fundraising platforms enable individuals and organizations to raise funds for projects, causes, or ventures from a large number of people, typically via the Internet.
Designing a relational database for such platforms involves defining entities, attributes, and relationships to efficiently manage fundraising campaigns, donations, users, and projects. This article will explore the key components involved in designing a database for crowdfunding and fundraising platforms.