This was my first fullstack project so keep in mind that this code can use ALOT of refacotring and smarter ways of implementing stuff.
I started this project in mid 2020 and finished it a couple of months later. Now, a year later I realized how much I have grown as a software engineer and a programmer that I could improve this codebase substantially.
This is my software engineering project that i created using MERN stack. Fakegram is a social network insipired by already existing social network Instagram.
Preview: https://omkobass.netlify.app/static/media/fakegram.81a839c3.mp4
It has:
- Creating a profile
- Email verification
- JWT authentication
- Hashing passwords on the backend
The users can:
- Create posts with images
- Like other posts
- Comment on other posts
- Follow/Unfollow other users
- Send messages to other users
- Recieve (no socket) notifications
- Clone this repo
- Do an npm install in the Frontend dir
- Do an npm install in the Backend dir
- In the backend you need to connect it to your own mongoDB database locally (You'll need to install mongoDB) or with a cluster
- Create .env file and replace the .env variables in the backend code with your own. When it's in production i use AWS server and MongoDB Cluster, when you want to run it locally you can store everything on your own computer
- Run npm start in the Frontend dir (It's localhost:3000)
- Run node server.js in the Backend dir (It's localhost:5000)
- Done
- Improvements can be done by paginating messages, likes, comments and posts for profiles
- Using socket.io for responsive notifications and messaging.
- Refactoring is needed