https://timeline.aspear.cs.umd.edu/
Timeline is a social media site where anyone can share updates about their life Built using Python, Flask, MongoDB, and Timeline supports secure user authentication, profile customization, and more.
To setup a local instance of Timeline follow these steps: Setup of the API key for MongoDB and update config.py
Make sure to set the secret key in
config.py!!!
Activate your virtual environment
Then, to install the necessary packages, run pip install -r requirements.txt.
To run this project, stay in the directory and use the flask run
command. The file that is run is run.py
All of the view functions are in routes.py. The
database models are in models.py, and the Client class
is now in client.py.
template files:
header.htmlaccount.htmllogin.htmlregister.htmluser_detail.html404.htmlindex.htmlquery.html
account()login()register()user_detail(username)logout()custom_404()
-
RegistrationForm: -
LoginForm: -
SearchForm: -
PostsForm: -
LikePostForm: -
DeletePostForm: -
UpdateUsernameForm: -
UpdateProfileForm: -
UpdateProfilePicForm:
User- Should have these fields:username: required and unique with minimum length 1 and maximum length 40 charactersemail: required and uniquepassword: required (only store slow-hashed passwords!)joined_dateprofile_pic: optionalget_id()returns a string unique to each user andload_user(user_id)fetches aUserobject using that unique string
name: optionalbio: optionallocation: optionalbirthday: optional
Post- Should have these fields:commenter: required reference to aUsercontent: required with minimum length 5 and maximum length 500 characters.date: required (can be saved as a string instead of a datetime)imagelikes
Creating a unique lexicon for "Timeline," can help establish a distinctive brand identity and enhance user engagement
Posts: could call individual posts "Moments". This term encapsulates the idea of capturing a specific point in time, which aligns well with the theme
User Profiles: Refer to user profiles as "Chronicles". This term suggests a detailed and continuous account, much like a personal history, which fits the concept of a timeline.
Like: Instead of "likes," could use "Echoes". This term can symbolize the reverberation or impact a post has on the community, similar to how sound echoes resonate.
Share: Instead of "share," use "Spread". This suggests the action of spreading a moment through the timelines of others.
Followers: Call them "Timekeepers". This term fits the temporal theme and gives a sense of people who keep track of others' timelines.
Messaging/DMs: Refer to these as "Telegrams". This harkens back to older forms of communication and gives a nostalgic touch to the action of sending direct messages.
Trending Topics: Call them "Eras". This term represents significant periods in history, aligning well with the idea of trending or notable events on the platform.
Groups/Communities: Refer to them as "Guilds". Historically, a guild was an association of craftsmen or merchants, which could parallel the idea of a group with common interests.
Polls/Surveys: Call them "Censuses". In keeping with the historical theme, a census is a systematic collection of data about a population.




