-
Notifications
You must be signed in to change notification settings - Fork 0
Home
- Each IC should have its Login Mechanism without Registration Flow.
- Account creation in IC does not create account in stumagz blog.
- User should able link Stumagz Blog Account from IC Account to use login with stumagz (OAuth Server).
- Blog service will always depend on OAuth Service.
Without Custom forms / Event Ticketing / Connect with Another User
CREATE TABLE USER ( user_id INT NOT NULL, PRIMARY KEY (user_id) );
CREATE TABLE MAGAZINE ( magz_id INT NOT NULL, user_id INT NOT NULL, PRIMARY KEY (magz_id), FOREIGN KEY (user_id) REFERENCES USER(user_id) );
CREATE TABLE SU_PERMISSION ( permission_id INT NOT NULL, PRIMARY KEY (permission_id) );
CREATE TABLE SKILL_SET ( skill_id INT NOT NULL, PRIMARY KEY (skill_id) );
CREATE TABLE BLOG_POST ( blog_post_id INT NOT NULL, user_id INT NOT NULL, magz_id INT NOT NULL, PRIMARY KEY (blog_post_id), FOREIGN KEY (user_id) REFERENCES USER(user_id), FOREIGN KEY (magz_id) REFERENCES MAGAZINE(magz_id) );
CREATE TABLE Campaign ( campaign_id INT NOT NULL, PRIMARY KEY (campaign_id) );
CREATE TABLE Issue/Version ( issue_id INT NOT NULL, PRIMARY KEY (issue_id) );
CREATE TABLE magzAdmin ( user_id INT NOT NULL, magz_id INT NOT NULL, PRIMARY KEY (user_id, magz_id), FOREIGN KEY (user_id) REFERENCES USER(user_id), FOREIGN KEY (magz_id) REFERENCES MAGAZINE(magz_id) );
CREATE TABLE stumagzAdmin ( user_id INT NOT NULL, permission_id INT NOT NULL, PRIMARY KEY (user_id, permission_id), FOREIGN KEY (user_id) REFERENCES USER(user_id), FOREIGN KEY (permission_id) REFERENCES SU_PERMISSION(permission_id) );
CREATE TABLE userSkills ( user_id INT NOT NULL, skill_id INT NOT NULL, PRIMARY KEY (user_id, skill_id), FOREIGN KEY (user_id) REFERENCES USER(user_id), FOREIGN KEY (skill_id) REFERENCES SKILL_SET(skill_id) );
CREATE TABLE memberOf ( user_id INT NOT NULL, magz_id INT NOT NULL, PRIMARY KEY (user_id, magz_id), FOREIGN KEY (user_id) REFERENCES USER(user_id), FOREIGN KEY (magz_id) REFERENCES MAGAZINE(magz_id) );
CREATE TABLE Follow ( user_id INT NOT NULL, magz_id INT NOT NULL, PRIMARY KEY (user_id, magz_id), FOREIGN KEY (user_id) REFERENCES USER(user_id), FOREIGN KEY (magz_id) REFERENCES MAGAZINE(magz_id) );
CREATE TABLE Like ( user_id INT NOT NULL, blog_post_id INT NOT NULL, PRIMARY KEY (user_id, blog_post_id), FOREIGN KEY (user_id) REFERENCES USER(user_id), FOREIGN KEY (blog_post_id) REFERENCES BLOG_POST(blog_post_id) );
CREATE TABLE belongsTo ( campaign_id INT NOT NULL, blog_post_id INT NOT NULL, PRIMARY KEY (campaign_id, blog_post_id), FOREIGN KEY (campaign_id) REFERENCES Campaign(campaign_id), FOREIGN KEY (blog_post_id) REFERENCES BLOG_POST(blog_post_id) );
CREATE TABLE publishedOn ( blog_post_id INT NOT NULL, issue_id INT NOT NULL, PRIMARY KEY (blog_post_id, issue_id), FOREIGN KEY (blog_post_id) REFERENCES BLOG_POST(blog_post_id), FOREIGN KEY (issue_id) REFERENCES Issue/Version(issue_id) );
Separate storage and separate service can be impleted for stories, opportunities and events separately
- User
- Blog Post
- Event Ticketing
- Magazine
- Stumagz Form
- Payment
- Notification
- Vip
- Opportunity Application
- Discussion Forum
- Chat
- Competition or Test
- Coupon (Multiple Discounts, Selected Ticket Discounts, Selected Price Above Discount)
- Skill
- Groups
- Login
- Sign Up
- Forgot Password
- Create Post
- Edit Post
- Delete Post
- Comment on Post
- Like On Post
- Like On Comment
- Reply to Comment
- Create Magazine
- Assign Admin
- Manage Magazine
- Create Blog Post
- Create News
- Create Discussion
- Apply to Admissions
- Images (logo of magz, coverpic of magz, story coverpic, user profile pic and user coverpic)
- Graphics
- Static HTML pages if any for web and mobile separately
- JS / CSS files