Professional Documents
Culture Documents
Lyfstory Document, Flowchart and Data Structure
Lyfstory Document, Flowchart and Data Structure
TECHNOLOGY
BACKEND DEVELOPMENT: NODE JS / MONGODB
DATABASE DIAGRAM
https://dbdiagram.io/d/62a40e309921fe2a96e1d037
REQUIREMENT
Create account
● Registration
a. Mobile Number
b. Password
c. I Agree
● Verify Mobile Number
a. OTP Verification (Send OTP on Message)
b. Verify with Database
● Generate 2 Profile
a. Normal
b. Alias
Forgot Password
● Search Account
a. Via Email
b. Via Mobile Number
● Reset Password
Search Campas
● Search (Limit)
a. Mode
b. Location
c. Campas
d. Topic Category
● Member List
a. View Member Details (Normal Profile)
● List of Campus using Pagination of Search
● Get In (can join campus)
View Campus
● Recent Post List
a. Sort By Most Like (Most voted opinion)
● View Post
a. Post Details
b. Community Opinion
c. Menu
i. Profile
ii. Category option
iii. Report
iv. Remove
● Post Action
a. Read Conversation
b. Like
c. Comment
d. Share - make image and share it in any social media
i. Select Communities to repost
● Add Post (Limit of 5 per hour)
a. Can post using Alias or Normal Profile
i. Get data from Twitter and facebook link
ii. Select any Lyfstory post which recently post
b. Opinion
Communities
● My Communities
● Top Communities
● Suggested communities
● Most liked communities
● Followed Communities
● Deleted Communities
My Communities
● Community
● Person
● Attributes
● Feature
a. List as par Selection
b. Delete (person in your community)
● Send Follow Request
● Create Your Community
a. Profile Pic
b. Fenis (Name of community)
c. Description (Purpose / Motto / Vision)
d. Tagline
e. Add some topics
● Invite Friends in community
Conversations
● List of chats
● Filter of Communities
● Send message (1:1)
a. Send Normal Message
b. Attach Post
c. Emoji
d. Ask Question
i. Share Question
ii. Reply Question
● Menu
a. Rate Conversions
b. Report to person
c. Profile
d. Block
e. Delete
● Action
a. Report
b. Rating
c. Delete
Profile
● Real Profile
a. Details
i. Name
ii. Community
iii. Location
1. Home Location
2. Work Location
3. Zip / Postal Code
4. Location Classification
iv. Date of Birth
v. Age
vi. Gender
vii. Education
1. Add Education
viii. Professional
1. List of Profession - Predefine (Search)
2. Edit Profession
ix. About Me
x. Tagline
xi. Influence Power
xii. Number of Invites
xiii. Tid Bid by friends
1. Received
2. Send
xiv. Predefined reach message
1. Help Message
2. Hiring Message
3. Meeting Message
b. Follow
c. Following
d. My Creation
e. User Verification
f. Edit Image
i. Profile Image
ii. Cover Image
● Alias
a. Same as Real Profile
Notification
Search
● Community
● Person
● Attributes
● Notification
● Feature
a. Filter for search
i. Location
ii. Location Classification
iii. Gender
iv. Age Group
v. Community
vi. Profession
vii. Number of secret superpowers
b. Reach
i. Why reach
1. Help
2. Meet
3. Hiring
4. Other
ii. Reach Card
Category Option
Invitation received
Rate Us
How to Use
Logout
DATABASE STRUCTURE
Collection: users
Description: Save login details on users collections, mobile number and
password, all user’s reference on this _id, anywhere into the database or data
structure, if there is store any user’s reference id then it’s only users collection’s
_id. There are a number of methods to password encrypt, I gave 2 methods here,
which are used by most of the developers.
Collection: users_professinal
Description: Into the user’s profile there is one option which can save multiple
profession history for the single user, so we made one more collection to save this
all data in different collections to manage all records smoothly.
Collection: posts
Description: All Community posts or any reshare post will be going to store on this
table, we will calculate all counts of like, share, comment and opinion. We made a
separate table as well for showing history of like, share, comment and opinion by
which user and when with timestamp. That collection name is posts_opinion,
posts_comments, posts_like, posts_share.
KEY VALUE - DATA TYPE Description
_id ObjectId Unique & Primary key
user_id ObjectId Reference of users table
community_id ObjectId Reference of community table
type INT 0 - Community Post
1 - Opinion
profile_type VARCHAR Real / Alias
title VARCHAR Post title / topic
image VARCHAR Post Image
link VARCHAR Link to get video url or any post url form
lyfstory, facebook, youtube
topics VARCHAR Predefine topic and can select other
and then type it’s own
question String Ask question when post
opinion_count INT Count of opinion which get by current
post
comment_count INT Count of comment which get by current
post
like_count INT Count of like which get by current post
share_count INT Count of share which get by current
post
ref_id ObjectId If there is any share then it’s shows
reference here, otherwise it’s empty
status BOOLEAN Post is like or not
0 - Deleted, 1 - Live
created_at TIMESTAMP Date when this record is created
updated_at TIMESTAMP Date when this record is updated
Collection: predefine_question
Description: When any user is going to post, at that time, we are asking a question
to the user, so the user needs to select an option form this predefined list, and just
change his word and fill black as part of his question.
Collection: posts_like
Description: This collection details are given into posts collection description.
Collection: invite_in_community
Description: As we know users can make their own community as well. So after
that, creating new community users can invite or can say request his / her friends
which made into this app, and they can join this community, so we store that
request data in this collection.
Collection: users_block
Description: Blocked user list will be stored on this collection.