Skip to content
kalyankk edited this page Feb 12, 2020 · 110 revisions

Deadline 31/01/2020 08/02/2020

Discussion about User Account Management with Blog and IC

  • 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.

Stage 1 - ER Diagram For Blog

Without Custom forms / Event Ticketing / Connect with Another User ER Diagram

Expected SQL without additional attributes of entities

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) );

Stage 1 - ER Diagram For Stages And Custom Form

Separate storage and separate service can be impleted for stories, opportunities and events separately ER Diagram

Entities Glossary

Existing Features

Authentication

  • Login
  • Sign Up
  • Forgot Password

Manage Account

Manage Bio

Skill Assessment

Blog Post

  • Create Post
  • Edit Post
  • Delete Post
  • Comment on Post
  • Like On Post
  • Like On Comment
  • Reply to Comment

Opportunity

Event

Discussion

Magazine

  • Create Magazine
  • Assign Admin
  • Manage Magazine
  • Create Blog Post
  • Create News
  • Create Discussion
  • Apply to Admissions

Need of CDN Service which can save and return images / static resources

  • 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
Clone this wiki locally