- Notifications
You must be signed in to change notification settings - Fork3
Abdallah-Elshamy/Twitter-Like-App
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The project is a social network web application that provides a safe environment via the Safe For Work mode. In this mode, profanity and nudity are detected via machine learning models then they are hidden for users in this mode. Adult users can switch this mode on and off while adolescent users can't switch this mode off.
The app supports the basic functionalities of Twitter, such as:
- Tweeting, retweeting, Quote tweeting, and Replying to tweets (the tweet can contain text, images, videos, and/or hashtags)
- Creating and editing a profile
- Search for, follow, report, and ban other users
The app also supports some other functionalities, such as:
- Real-time chat
- Real-time feed updates
- Trends
- Admin dashboard
To run the project:
Clone the repo by the following command:
git clone https://github.com/Abdallah-Elshamy/Twitter-Like-App
- The first one is the frontend which is a React app & Tailwind is also used as a CSS-supporting library and deployed all frontend by using AWS S3.
- To run frontend server:
- Navigate to the
./frontend
directory then run the following command:npm install
- Run the second following command:
npm start
- The second component is the Safe For Work server which is a Flask server that uses machine learning models to detect profanity and nudity in tweets.
- To run the SFW server, follow the next steps:
- Install virtualenv using
pip install virtualenv
- Change directory to the
SFW_service
directory. - Create a virtual environment using
virtualenv env
- Now if you are same directory then type the following to activate the environment
- if you are using windows:
env\Scripts\activate
- if you are using linux:
source env/bin/activate
- if you are using windows:
- Install the requirements using the requirments.txt file
pip install -r requirements.txt
- Run the server using
python app.py
- The third component is the backend which implemented by using Node.js, GraphQL, Apollo Server, and Express to it , implemented the real-time features using WebSockets and RabbitMQ on AWS MQ and also used PostgreSQL DB on AWS RDS and AWS S3 to store the data.
- To run the backend server:
- Navigate to the
./backend
directory then run the following command:npm install
- Run the second following command:
npm run dev
Also,the project utilize some DevOps tactics and built a CI/CD pipeline (using GitHub Actions) that automatically runs unit tests, builds, and deploys Docker images to a Kubernetes cluster on AWS EKS that contains two instances of the backend server, one instance of the SFW server, and an NGINX proxy server.
About
No description, website, or topics provided.
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors6
Uh oh!
There was an error while loading.Please reload this page.