A fully functional Twitter (X) clone built with a modern full-stack architecture using Next.js and Spring Boot. It supports real-time feeds, secure JWT authentication, profile management, media uploads, and a clean, mobile-responsive UI.
X Clone replicates the essential features of Twitter/X while showcasing best practices in full-stack web development. It includes secure login, post creation, image upload, profile pages, and a personalized timeline — all designed with scalability and performance in mind.
This project serves as a portfolio-grade app, ideal for demonstrating skills in full-stack development, JWT-based authentication, and modern frontend architecture.
- Next.js 15 – App Router, SSR, API Routes
- React 19
- Redux Toolkit – Global state management
- Tailwind CSS – Utility-first responsive styling
- Axios – API communication
- Cloudinary – Image upload
- React Icons, React Datepicker
- Spring Boot 3.4.2
- Spring Security – JWT-based Authentication & Authorization
- Spring Data JPA – ORM with Hibernate
- Aiven for MySQL – Managed cloud SQL database
- JJWT – JSON Web Token management
- Lombok – Boilerplate reduction
- Spring Boot Actuator – App health monitoring
- 🔐 Secure authentication with JWT
- 📝 Post tweets (text + image support)
- 🧵 Replies and Threads
- 👤 User profile with bio and media
- 🫂 Follow/Unfollow system
- 📜 Personalized timeline feed
- 🔎 Search users and tweets
- ☁️ Cloudinary integration for media
- ⚡ Fast and responsive design
- Monorepo Style: Separated frontend (Next.js) and backend (Spring Boot)
- REST API: Stateless, secure endpoints protected with JWT
- Database: Cloud-hosted Aiven MySQL with JPA entities
- Media: Uploaded images are hosted and transformed via Cloudinary
- State Management: Redux Toolkit with slices per feature
- Environment Driven:
.envfiles manage URLs, API keys, secrets
Built with ❤️ by Ankit Kumar Nayak
📧 Email: ankitkumarnayak1234@gmail.com
🔗 Connect on LinkedIn
This project is licensed under the MIT License.
While this is a personal full-stack showcase, contributions or suggestions are welcome. Feel free to fork, submit issues, or open PRs!
