Social Media Web Application
Social Media Web Application
Problem Statement:
Build a full stack web application - GetSocial (a social media app) using React, Node.JS,
Express.JS, MongoDB and deploying the application to Cloud.
Front-end Layout:
● My Profile
● Home-guest page
● Home-dashboard page
● Create-post page
● Profile page
● Single post screen page
● Header
● Footer
● 404 Error page
● Building the UI of the app: the guest page, the home dashboard, profile page, create
post, single post screen and more.
● Set up your server using Express.
● Connect your React front-end.
● Implementing authentication (login and signup) for users.
● Implementing routing and MVC patterns.
● Building models for database and connecting database to server.
● Building live chat using socket.io.
● Building live search
1
Project Evaluation metrics:
Code:
● You are supposed to write a code in a modular fashion
● Safe: It can be used without causing harm.
● Testable: It can be tested at the code level.
● Maintainable: It can be maintained, even as your codebase grows.
● Portable: It works the same in every environment (operating system)
● You have to maintain your code on GitHub.
● You have to keep your GitHub repo public so that anyone can check your code.
● Proper readme file you have to maintain for any project development.
● You should include basic workflow and execution of the entire project in the readme
file on GitHub
● Follow the coding standards.
Database:
● You can use any database of your choice.
Cloud:
● You can use any cloud platform for this entire solution hosting like AWS, Azure,
Heroku
API Details or User Interface:
● You have to expose your complete solution as an API or try to create a user interface
for your model testing. Anything will be fine for us.
Logging:
● Logging is a must for every action performed by your code, use the python logging
library for this.
Ops Pipeline:
● If possible, you can try to use the Devops pipeline for project delivery Ex. Jenkins,
Circle CI, Azure DevOps, Travis CI ,Github Actions
Deployment:
● You can host your model in the cloud platform, edge devices, or maybe local, but
with a proper justification of your system design.
2
Solutions Design:
● You have to submit complete solution design strategies in HLD and LLD document
System Architecture:
● You have to submit a system architecture design in your wireframe document and
architecture document.
Latency for model response:
● You have to measure the response time of your model for a particular input of a
dataset.
Optimization of solutions:
● Try to optimize your solution on code level, architecture level, and mention all of
these things in your final submission.
● Mention your test cases for your project.
Submission requirements:
High-level Document:
You have to create a high-level document design for your project. You can reference the
HLD form below the link.
Sample link:
HLD Document Link
Low-level document:
You have to create a Low-level document design for your project; you can refer to the LLD
from the link below.
Sample link
LLD Document Link
3
Architecture: You have to create an Architecture document design for your project; you
can refer to the Architecture from the link below.
Sample link
Architecture sample link
Wireframe: You have to create a Wireframe document design for your project; refer to the
Wireframe from the link below.
Demo link
Wireframe Document Link
Project code:
You have to submit your code to the GitHub repo in your dashboard when the final
submission of your project.
Demo link
Project code sample link:
4
The project LinkedIn a post:
You have to post your project details on LinkedIn and submit that post link in your
dashboard in your respective field.
Demo link
Linkedin post sample link :