This innovative MERN stack project revolutionizes the way content creators collaborate with their editors on Twitter. It addresses a significant privacy concern by eliminating the need for content creators to share their Twitter credentials with their editors. Instead, editors can upload content through the platform, after which the content creator receives a verification email. This email allows the creator to review the content and choose to either approve and automatically tweet it or reject it. This not only streamlines the content approval process but also significantly enhances security and control for content creators, ensuring their digital assets remain protected against unauthorized use.
To get started with the project, follow these steps:
-
Clone the repository:
git clone https://github.com/VishwasSaini25/twitter.git
-
Install dependencies
cd twitter-frontend npm install cd twitter-backend npm install
-
Run the development server
cd twitter-frontend npm start cd twitter-backend npm run dev
-
Open the application in your browser Visit http://localhost:3000 in your web browser to see the application
The project structure is organized to maintain a clean and scalable codebase. Here are the key directories:
-
FRONTEND --
src/
: Contains the source code of the React js application, including crucial files such as App.js and Index.jsImages/
: Store static assets like images and gifs.components/
: parent components for different routes.utils/
: other utility services.public/
: Static assets that don't require processing.
-
BACKEND --
src/
: Contains the source code of the backend, including crucial files such as App.js,Index.js and Auth.jsDB/
: Mongoose connect.Model/
: Contains mongodb model.Routes/
: COntains routes.
- React js: Progressive JavaScript liberary for building user interfaces.
- Chakra ui: For icons
- React-router-dom: For creating routes
- Bcrypt: For hashing password
- Twitter-api-v2: For twitter oauth
- Multer: For handling multipart/form-data
- Nodemailer: For sendimg mails
- Development
This will start the development server and you can access the application at http://localhost:3000.
npm run dev
- Build
npm start
- Approval based posting.
- Automated tweeting.
- Credentials safety.
- Security content management
- Mobile-first design for a responsive user experience.
We welcome contributions! Feel free to submit issues and pull requests.
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
. - Make your changes and commit:
git commit -m 'Add feature'
. - Push to the branch:
git push origin feature-name
. - Open a pull request.