Social media platform with topics built with AWS serverless and Reactjs frontend. Users can only post after passing a quiz about the topic.
Generated personalized timeline for users. Utilized REST to send the API requests. Added like, dislike, bookmark and comment features to posts. To provide private communication between users, added messaging interface with reply, seen and send post features. Utilized AWS Amplify framework to build the app in case if I need to implement a mobile application.
All of the data of this project is stored by a single AWS DynamoDB NoSql table.
Utilized AWS Cognito to handle the authentication. After user is confirmed their e-mail, a lambda function triggered and creates the user information in database.
Utilized Boto3 library to handle database and bucket operations with python.
There are 10 different lambda function and 8 api path in this project. Utilized AWS Api Gateway to route the requests.
commentsLambda - Operations about comments in posts.
- Like
- Dislike
- Post comment
conversationsLambda - Operations about messaging feature.
- Send post as a message
- Reply message
- Delete message
- Post message
- Seen information
postsLambda - Operations about posts
- Post details with comments
- Post a post
- Like
- Dislike
- Bookmark
profileLambda - Operations at user profiles
- Collect user details with user's posts
- Follow - Unfollow For user's own profile:
- Bio change
- Photo change
searchLambda - Search operations
- Search posts
- Search usernames
- Search topics
timelineLambda - Operations about generating timeline
topicTestLambda - Operations about quizzes
- Start quiz
- Hold logs
- Continue session if user accidentally left
- Give random question about topic
- Evaluate the results
topicsLambda - Operations about topics
- Popularity feature
- List all topics
- Topic details with posts
- List bookmarks
- Follow / Unfollow topics