This repository contains the backend component for the Twitter Clone project - a learning-focused effort to replicate core Twitter/X functionality. The backend serves as the API layer and database manager for the frontend application, which is built with Vite + React.
- Node.js (v20+ recommended)
- Express framework for REST API
- Sequelize ORM for PostgreSQL
- JWT for authentication
- PostgreSQL database
- RESTful API endpoints for tweet/user operations
- Authentication system with JWT tokens
- Database structure management via migrations
- Seeders for initial test data
- Environment-based configuration
- Model relationships (Users, Tweets, Follows, Likes)
This backend is designed to work in tandem with the frontend repository. For full functionality, both components must be running simultaneously.
Next Steps:
➔ Proceed to Installation Instructions
➔ View Frontend Repository
- Node.js v18+
- PostgreSQL database
- Frontend setup from twitter repository
- Basic understanding of REST APIs and environment variables
Important Notice
This project is strictly educational in nature and was created for learning purposes only. It is not:
- Associated with or endorsed by X Corp. (formerly Twitter) or any of its affiliates
- Intended to replicate or compete with x.com
- Designed for commercial use
- Meant to harm, defame, or infringe upon the intellectual property of any company
All references to Twitter/X functionality and branding are used:
- Solely for educational demonstration
- Under fair use principles
- Without claim to original ownership
The codebase is intentionally simplified and lacks many critical features required for a production environment. This implementation does not represent security best practices for authentication or database management.
Trademarks
Any mentioned trademarks (Twitter, X, etc.) belong to their respective owners. The "Twitter Clone" naming is used purely for descriptive clarity, not as an official designation.
Non-Commercial
This project is open-source and freely available for educational use only.