Skip to content

Blog Post

Bunny Vishal edited this page Jun 23, 2020 · 46 revisions

Modes of posting:


  • Only to my followers : Network
  • Public on my profile : Public
  • On magazine
  • Magazine_Private : Limit to approved members

  • Public : Magazine_Public

Category Table / Collection

categoryId categoryCode categoryName belongsTo
1 student-of-the-week Student Of the Week Story
2 whats-hot What's Hot Story
3 tech-news Tech News Story
4 blog Blog Story
5 conference Conference Event
6 seminar Seminar Event
7 tech-fest Tech Fest Event
8 part-time Part Time Opportunity
9 full-time Full Time Opportunity
10 internship Internship Opportunity

Campaign Table / Collection (No need of this collection)

This is for reference only, Needed if we would like to keep track of campaigns happening

campaignId campaignName campaignCoverPic campaignCreatedBy campaignCreatedAt noOfPosts
1 Sumara Fest https://stm.s3.ap-southeast.aws.com/images/j83r.jpg teamuser 2020-01-15 10:15:54 4
2 Edo campaign https://stm.s3.ap-southeast.aws.com/images/jd83.jpg stumagzsu 2020-01-15 15:29:54 1

Post likes Table / Collection

id postId userId likedAt
1 9459 teamuser 2020-01-15 10:15:54
2 9458 stumagzsu 2020-01-15 15:29:54

Blog Post Table / Collection

postId postType publishedMagzId publishedMagzName postTitle postTitleId description category keywords coverpicURL coverpicPosition draftContent liveContent isPublished publishedAt pubishedByUserName publishedByUserId isApproved approvedOn authorUserName authorUserId isFeatured isSponsored isCampaign isChildPost campaignData
5 Story 248 CMREC Padma Nabha Simha Festival padma-sri-gari-fest-campaign This is a campaign to have fun with stories and events campaign [ "padma sri" , "simha" , "festival" ] https://stm.s3.ap-southeast.aws.com/images/jsdf8wjf89fj3w.jpg {x:40%, y:20%, z:220%} NULL NULL NULL True 2020-01-15 08:40:04 stumagzadmin 12 True 2020-01-15 08:42:36 someuser 484 True False True False
9458 Story 853 VBIT Test post talking about events test-post-talking-about-9458 This is description of the story, what else you want blog [ "keyword" , "story" , "specialstory" ] https://stm.s3.ap-southeast.aws.com/images/ue8he8rh38f.jpg {x:20%, y:0%, z:100%} {...}1 {...}1 True 2020-01-16 10:04:24 stumagzadmin 12 True 2020-01-16 14:34:06 samuser 484 True False False True {...}2
9459 Event 357 Test Magazine Pani leks rasina post idi, kudirithe like kottu pani-leka-rasina-post-idi-9459 This is also a test description tech-fest [ "paniledu" , "time pass" ] https://stm.s3.ap-southeast.aws.com/images/je8fe89de8d8j.jpg {x:50%, y:50%, z:100%} {...}1 {...}1 False NULL chantibunty 242 False NULL chantibunty 242 False False False True {...}2
  • postId -> unique post id (Mandatory)

  • postType -> is blog post is story / event / project / opportunity / campaign

  • postTitle -> Title of the post (Mandatory) (Min 30 chars excluding special symbols, Max 140 chars including special symbols)

  • postTitleId -> unique ( auto generated slug of max 30 chars excluding special symbols ) post title id - append postId if slug is already taken (Mandatory)

  • publishedMagzId -> published magazine details

  • draftId -> unique ( auto generated ) used to identify last edited version which is not yet approved (Mandatory)

  • description -> simple text with simple special symbols. Max length should not exceed 200 chars (Optional)

  • category -> Category Name (Mandatory)

  • keywords -> keywords / tags related to post (Mandatory for all kinds of posts)

  • coverpicURL -> URL of the blog post coverpic

  • coverpicPosition -> Coverpic position (Default : {x:50%, y:50%, z:100%})

  • postDarftContent -> jsonContent of blog post

  • postLiveContent -> jsonContent of blog post

  • campaignId -> Array of campaingId's that this post is belongs to (Default Empty array)

  • isPublished -> whether story is published or not

  • 2 {postId:5, coverpicUrl:https://stm.s3.ap-southeast.aws.com/images/ue8he8rh38f.jpg, title: this is a campaign to have fun with stories and events, description: this is a description, isFeatured : True, isSponsored : False }

While writing / editing a post, it will be saved to draftContent as a draft. Publish api have to copy the draftContent to liveContent and unique postTitleId will be auto generated (if it is not there). Editing, re publishing and saving will have no impact on postTitleId.

When there is any edits / updates to campaingn / parent post, child posts needs to update campaign data.

  • publishedAt -> time of publishing (Format YYYY-MM-DD HH:mm:ss)
  • publishedByUserName -> Actual user name who wrote blog post
  • isApproved -> whether story is approved / or not (Default Approved)
  • approvedByUserName -> User who approved the post (stumagz admin / employee)(Default null)
  • rejectedByUserName -> User who rejected the post (stumagz admin / employee)(Default null)
  • approvedOn -> time of approving by stumagz admin (Format YYYY-MM-DD HH:mm:ss) (Same as published Date)
  • rejectedOn -> time of rejecting by stumagz admin (Format YYYY-MM-DD HH:mm:ss)(Default null)
  • authorUserName -> same as publishedByUserName if publisher is not admin or on behalf of another user name if publisher is stumagz admin / employee
  • isFeatured -> is featured post or not
  • isSponsored -> isSponsored post or not

Common Data

1. Cover Pic (optional)

  • Users should able to upload the image with draggable and resizable options.
  • Users should able to upload the cover image of the dimension of 16:9.
  • The maximum binary size of the cover image should be 5 MB.
  • Uploading images should be optional.

2. Category

  • Allow user to select the category of the blog post.
  • The category list will be segregated based on blog post type.

3. Title

  • The maximum length of the title should be 140 characters.
  • Allow all special characters
  • Show live character count of the title while typing (Design).

4. Description

  • The maximum length of the description should be of length 200 characters.

5. Keywords

  • Allow the suggested keywords based on the content of the blog post.
  • At least one keyword should be input to publish the post.

6. Forms

  • Allow users to attach the stumagz forms to the blogpost.
  • Naming conventions change based on blogpost type (eg: for a story - leads, opportunity - application form ).

Editor Data

1. Text

  • Allow users to select the bold, italic, underline, link.

2. Image

  • Allow user to upload an image of ratio 4:3
  • Allow users to upload images of types including JPEG, PNG, GIF.
  • Store the images s3 bucket. (Tech)

3. Youtube link

  • Allow users to embed the youtube video with a youtube link.

4. Quote

  • Allow users to add quotation lines between paragraphs.

Use cases of creating a post, approval and issue numbering of a magazine.

Edition / Version of a magazine

Each magazine will contain 1 or more number of edition (versions). New edition will be created while releasing of an edition and no other upcoming editions exists. Any edition will be released (if there exists sufficient approved posts for the release) on specific intervals mentioned on magazine settings page by magazine admin. Default is bi-monthly (i.e., 14 days). Posts related to upcoming editions will never be listed on magazine board and other pages until edition / version is released.

Creating a post

So far, a user can create a post (story / event / opportunity / project) inside a magazine. But now onwards, a user can create post on his profile (without magazine) only. Then he can send it to any magazine at the same time or at later stage (if story is not rejected by stumagz admin).

approval of a post

If a post is being written on his profile and not sent to any magazine it will be approved by default. Later admin can reject it. If any post sent to a magazine, magazine admin can approve / reject the post if stumagz admin not rejected the post. While approving the post by magazine admin, magazine admin can choose at what issue it can be published by selecting next upcoming edition. Admin can select any one of the next upcoming editions, or else admin can create a new upcoming edition and select it. One post can be sent multiple times to same magazine. But it can never be duplicated in same issue.

Story Specific Data

Categories List

What's Hot,Tech News,Events, Sports,Entertainment, Inspiration,Innovation,Student of the week, Human Interest, Humor,Blog,My Take,Book Reviews,Product Review,Gang of the week

Event Specific Data

Venue of the Event

Address 1,Address 2, city(Pick from Predefined List), state(Pick from Predefined List), country(Pick from Predefined List)

Geolocation (optional)

  • Allow users to pick the location from the google maps.

Categories List

Competition,Conference,Seminar,Tech Fest, Cultural Fest,Sports Fest, Management Fest, Protest, Workshop, Boot camp, Campus Drives, Hackathon, Online Event, Outdoor Event, Job fair, Innovation

Starts On

  • Allow users to select the date and time.

Ends On

  • Allow users to select the date and time.

Event Registration Link

Is ticketing enabled

  • Allow users to select ticketing to the event.

Website link

Organizers

  • Allow the author to add organizers to the event.

Terms and Conditions

FAQ's

Opportunity Specific Data

categories

Part-Time, Full-Time, Scholarship, Job

skillset

  • Allow users to add at least one skill.

Job role

  • Allow users to pick job role from a list

Job location city.

  • Allow users to pick multiple cities from the predefined list of Cities.

Job Country

  • Allow users to pick multiple cities from the predefined list of Countries.

Office Address

  • Office address

Pay and perks

  • Allow users to write multiple benefits/ perks.

Application Start Date

  • User will not be allowed to apply to oppertunity before specified date.

Opertunity Link

  • External Oppertunity Link

HR Details

  • Name
  • Mobile
  • Email

Application Close Date

  • User will not be allowed to apply to opportunity after the specified date.

Only Vip

  • Oppertunity Vissible to VIP only set at the time of creation and can be updated.

Innovation (Project) Specific Data

Technologies used

  • Allow users to add the technologies used in that project.

Abstract

  • Allow user to add project abstract

Status (Yet to start, Ongoing, Completed)

Time period

Team members

  • Allow users to pick the users from stumagz users.
  • If required user not found in the stumagz users, allow inviting via email.

Link opportunity (need discussion...)

add references

Sub-posts & Main posts (previously referred as campaigns)

  • Main posts is a common blog post.
  • Sub post is similar to a blog post but has a parent post and is not listed individually.

References.

  • Encoding should be referred for Title, description.

Problems / Suggestions

  • Facebook debugger unable to scrape the blogpost.
  • Allow cover pic adjustment.
  • Unable to follow the formatting that exists in the content when it is pasted from other sources.
  • Allow GIFs wherever the images can be added.
  • Special Symbols in Title, Description, Content ...etc.
Clone this wiki locally