Jwitter is a Twitter clone web application built using Next.js, TypeScript, and MongoDB. It allows users to create accounts, post tweets, follow other users, like tweets, and perform other common Twitter functionalities.
I've been long intrigued by the idea of creating a Twitter clone that incorporates some of Twitter's innovative features. This curiosity ultimately drove me to develop Jwitter.
With Jwitter, I have effectively implemented key features and functionalities that are comparable to Twitter's. Users can currently register, login, post tweets, reply to tweets, like and unlike tweets, follow and unfollow other users, as well as receive notifications.
- User authentication and authorization with NextJs authentication
- User account creation and management
- Posting and replying tweets
- Following and unfollowing other users
- Liking and unliking tweets
- Profile page to view user's tweets, followers, and following
- Responsive design for optimal viewing experience on different devices
- Next.js: A React framework for building server-rendered React applications.
- TypeScript: A statically typed superset of JavaScript.
- MongoDB: A popular NoSQL database for storing JSON-like documents.
- Tailwind CSS: A modern CSS framework for building responsive and customizable user interfaces.
- Prisma ORM: An ORM that makes working with databases easy.
- Zustand: A small, fast and scalable state-management solution
- SWR: A React Hooks library for data fetching
To get started with Jwitter, follow the steps below:
- Clone the repository:
git clone https://github.com/wilfredcloud/jwitter.git
- Navigate to the project directory:
cd jwitter
- Install dependencies:
npm install
- Set up MongoDB database: Create a MongoDB database and provide the connection URL in the .env file as shown below
DATABASE_URL= NEXTAUTH_JWT_SECRET= NEXTAUTH_SECRET=
- Start the development server:
npm run dev
- Open your web browser and go to http://localhost:3000 to see Jwitter in action!
Contributions to Jwitter are welcome!
Jwitter is open-source software released under the MIT License.
Jwitter was built with the help of the following frameworks, libraries and resources:
Next.js: https://nextjs.org/
TypeScript: https://www.typescriptlang.org/
MongoDB: https://www.mongodb.com/
Tailwind CSS: https://tailwindcss.com/
Prisma ORM: https://www.prisma.io/
Zustand: https://docs.pmnd.rs/zustand/
SWR: https://swr.vercel.app/
Special thanks to Antonio Erdeljac for inspiring this.