Table of Contents
-
server: 3000 lines client : 13000 lines total number of lines before compilation 16,000
-
PostgreSQL ExpressJs ReactJs NodeJs + Typescript,Socket-io, Redux-toolkit,Context-api, JWT,Cloudinary, React-router-dom, Styled-components used.
-
Create Account. Only unique username and mail, passwords are hashed.
-
Post Shareable + You can make your account private. Posts are visible when you are not logged in, but if your account is private the logged in + viewer must follow you (after your confirmation) If your account is private they should follow you for the post even if they save the post until they follow you back (after your confirmation) they can't do it later.
-
Post Shareable + You can make your account private. Posts are visible when you are not logged in, but if your account is private the logged in + viewer must follow you (after your confirmation) If your account is private they should follow you for the post even if they save the post until they follow you back (after your confirmation) they can't do it later.
-
Posts from people you follow on your homepage come by date and are scalable (no offset), last line date, id based, more scalable and to avoid issues like data duplication during performance offset increase.
-
All database queries were handled with a single query (triggers were used except insert operations in 2 different tables).
-
After the postpopup is opened, it does not send requests to the server again and you can close it with the right and left arrow navigation esc.
-
Security is provided with jwt. The token is refreshed every 2 hours. Renewal is canceled after logging out or changing the password. After changing the password, all sessions will be closed in 2 hours- If you type @username while posting or commenting, you can click to go to the specified person (there are no conditions here and the username does not need to be consistent)
-
There are session features in the application, but (normally you cannot like, comment, etc. + features such as advanced post like, comment like)
-
Real-time messaging, push notifications, no notifications and no inbox if you don't know the sender
-
Relationships are blocked, all post likes, comments, sub-comments are completely hidden from you and vice versa (if he blocks you, you will not see it at all) but if you block him, you can see it in the search section.
Sample Video
This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.
-
Clone the repo
git clone https://github.com/furkansimw/SOCIAL_MEDIA_APP
-
Server for Install NPM Packages and normal start (npm run start) developement for (npm run dev)
cd server && npm install && npm run start
-
Client for Install NPM Packages and Start
cd client && npm install && npm run dev
-
Enter your System Environment Variables for server
server/.envDB_URL=*** JWT_SECRET=*** CLOUDINARY_CLOUD_NAME=*** CLOUDINARY_API_KEY=*** CLOUDINARY_API_SECRET=***
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt for more information.
Furkan Şimşek - Linkedin - furkansimw@gmail.com
Project Link: https://github.com/furkansimw/SOCIAL_MEDIA_APP
Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!














