Database Design Assignment Part AOverviewFanBasement is a messaging platform designed specifically to link users of the popular fandom archive, Arch
Database Design Assignment Part AOverviewFanBasement is a messaging platform designed specifically to link users of the popular fandom archive, Archive of Our Own (AO3). Inspired by the structure of Discord, FanBasement provides a space for AO3 users to connect, discuss within their favourite fandoms (imagine, Discord servers), share fanart and links to fanfiction, and collaborate with like-minded fans. The platform requires users to have an existing AO3 account, which will provide their username on FanBasement. From AO3, they can access a link to the sign up page for the messaging platform, which will prompt users for details such as email, username, a password and a date of birth to identify them in the system and log them into the platform.
INCLUDEPICTURE "https://cdn.discordapp.com/attachments/1195831928348233738/1218897864013643926/image.png?ex=66095618&is=65f6e118&hm=e3004cbe0ce4c65a42dabd74d16bd551751a1195e04e58441147d23aaf1ba793&" * MERGEFORMATINET
Upon signing up, fans can access various fandoms available on AO3, participate in similar channels for each fandom. At this point, they will be put through to the mandatory community pages where they will have to provide the name of an existing fandom on the archive, to join the fandoms server and access its channels.
INCLUDEPICTURE "https://cdn.discordapp.com/attachments/1195831928348233738/1218900627753664562/image.png?ex=660958ab&is=65f6e3ab&hm=f93366399b8e8549ca8defe58ee94ca492b52326f508525a2eecbd2b888dc03d&" * MERGEFORMATINET
Upon joining a minimum of one fandom, the users will have access to the fandoms pre-existing channels, which are similar across the board for all fandoms. They will be able to join the fandoms general chat, access the server new fanfiction notification board, directly message other users listed under the fandom, and share media and art in the channel.
Business FunctionsThe messaging platform should allow users to create an account on the messaging platform, but it needs to recognise the username used on AO3 and link the accounts.
It should also allow the user to search, access and join all of the fandoms available on AO3 by looking up the similar name. Users must join at least one fandom to access the platforms features.
Once in a fandom, users should be able to participate in set channels, universal to all fandoms on the platform. However, users should be able to participate in channels, tailored to the fandoms shipped characters, found on AO3. The system should display available channels within each fandom for users to join.
Users should be able to post messages within channels and share media files like fanart. They should also be able to view real-time links to new fanfiction in the fandom.
Users should be able to leave and join fandoms as many times as they like.
Users should be able to view and directly message people within their fandom, and have private conversations. Users should be able to accept and decline message requests.
A.3
User Data:
Email address
AO3 username
Date of birth
Fandom Data:
Fandom name
Description
Number of members
Channel Data:
Channel name
Description
Member count
Message Data:
Content
Timestamp
Sender (linked to AO3 username)
Media File Data:
File name
File type
Timestamp
Uploader (linked to AO3 username)
Database Design Assignment Part BOverview of the case study in at most five sentences (From part A)FanBasement integrates with Archive of Our Own (AO3) to provide a messaging platform where users can discuss, share, and collaborate within fandoms. Users must have an AO3 account to sign up, using their AO3 username along with personal details like email and date of birth for identification. Once registered, users can join any number of fandoms available on AO3, gaining access to that fandom's specific channels. These channels include general chats, new fanfiction notifications, direct messaging with fandom members, and a space for sharing media and art. FanBasement thus offers a comprehensive space for fans to connect over shared interests in various fandoms.
Revised Business rules and Assumptions
Users need an AO3 account to sign up for FanBasement, linking it directly to their FanBasement profile.
Only one FanBasement account is allowed per AO3 username to prevent duplicates.
FanBasement distinguishes users as Free Users, who can join up to 50 fandoms, and Verified Authors, who can join up to 100, based on their status on AO3.
Users can't create new fandoms on FanBasement; they must join fandoms already established on AO3.
Agreeing to FanBasement's terms is required for all users during registration.
Users can only join existing fandoms listed on AO3, ensuring all fandoms are official.
When posting messages or sharing files, users must follow community guidelines to keep the environment respectful.
Only users in the same voice channel or text channels can have real-time conversations, limiting interactions to those within the same group.
Users can't change fandom settings or access certain channels without permission.
Personal information like email and birthdate is kept private and not shared without the user's permission.
ERD(still to come)
Justifications of the ERD based on the business rules and/or assumptions.
(still to come)
Part B - Conceptual data modelling
Produce the final ERD reflecting the data requirements given in the case study (using the
textbook/Lecture note notation). Justify your design decisions by documenting all your
31271 Database Fundamentals Assignment Specification
Page 4 of 15
assumptions for your conceptual data model, provide a list of PK, and FK(s) for each entity.
Your conceptual data model will be marked according to your ability to identify appropriate
entities, identify attributes, attributes, relationships and cardinalities, and to structure a data model
using these elements.
The Structure of Part B Report:
B. 1. Overview of the case study in at most five sentences (From part A)
B. 2. Revised Business rules and assumptions of part A
B. 3. ERD (Conceptual data modelling)
B. 4. Justifications of the ERD based on the business rules and assumptions.
You need to provide correct, detailed business rules describing entities, cardinality and
relationships between entities (Justification of design). You may need to repeat a business
rule several times. For example, you need to justify each entity, relationship, and
cardinalities in the designed ERD below, and list the PK and FK(s) as follows:
Business rules related to entity CUSTOMER:
BR1: Every customer needs to register to the system.
BR2: Every customer should provide his or her name, address and mobile number.
The PK of CUSTOMER is: Cust_ID Business rules related to the relationship between CUSTOMER and PRODUCT and its
cardinalities:
BR4: Every customer can buy many products (cardinality 0 to many).
BR7: Every product needs to be purchased by at least one customer (cardinality 1 to many).
Note: As you can see, based on BR4 and BR7, there is a many-to-many relationship between
CUSTOMER and PRODUTC that is converted to the associative entity (CUSTOMER_
PRODUTC).
The PK of the CUSTOMER_ PRODUTC is: Cust_ID, P_ID, Date
The FKs of the CUSTOMER_ PRODUTC are:
o Cust_ID from CUSTOMER
o P_ID from PRODUTC
Business rules related to entity PRODUTC:
BR11: Each product has a unique ID and a name(description).
The PK of the PRODUTC is: P_ID
Note: Please see the Assignment Template file uploaded on Ed.
Please See Section IV.4 (Instructions) before submission