This is a Back-end of Twitter-clone project
This web application incorporates fundamental functionalities like Twitter, including user authentication (login/register), tweet creation, retweet,tweet circle, mention, comment, like, bookmark, follow/unfollow, and direct messaging among users. It also integrates a notification system to inform users about activities such as new followers, likes, comments, and incoming messages.
-
- Front-end demo (Vercel): Link
- https://www.mytweet.one
- Account demo: [email protected]:admindemo
-
- Authentication: Access Token && Refresh Token (JWT) && Bcrypt for encrypt password
- Tweet: create Tweet, ReTweet, Tweet Circle, Mention, Newfeeds, Comments
- Interact: comment, like, bookmark, follow and chat with other user
- Socket.io to handle room chat, send notification
- Improve performance: use redis for caching, Index field in Mongodb
- Search: Full-text - MongoDB Atlas Search
- Other: Aggregation Mongodb to get documents
-
- MongoDB
- NodeJS
- npm
- Redis/Redis-server
- AWS account
- First, run the development server:
sudo service redis-server start
npm i
npm run dev