Chirp is a Twitter clone that allows users to express themselves exclusively through emojis in their tweets. The demo version of Chirp can be accessed here.
Chirp is built using the following technologies:
- Next.js: A React framework for building server-side rendered and static websites.
- Clerk.dev: An authentication solution for the web.
- Prisma: A modern database toolkit for TypeScript and Node.js that provides an ORM (Object-Relational Mapping) layer for database interactions.
- Tailwind CSS: A utility-first CSS framework that provides pre-built styles and components for rapid UI development.
- tRPC: A next-generation TypeScript API framework for building APIs with strong typing and automatic code generation.
- Redis: An in-memory data store used for rate limiting.
- User registration authentication and advanced management.
- Tweeting functionality with exclusive emoji usage.
- Use of SSG and SSR to improve performance and SEO.
- Timeline to view and interact with tweets from other users.
- User profile page with full tweet history
- Rate limiting using Redis to prevent excessive API requests.
To get started with Chirp, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/chirp.git
-
Install the dependencies:
cd chirp npm install
-
Set up the environment variables:
- Create a
.env
file in the root directory of the project. - Define the required environment variables in the
.env
file, such as database connection details, API keys, and Redis configuration.
- Create a
-
Run the development server:
npm run dev
The Chirp application should now be running on http://localhost:3000.
This project is licensed under the MIT License. Feel free to use and modify the code as per your requirements.
- Next.js Documentation
- Clerk.dev Documentation
- Prisma Documentation
- Tailwind CSS Documentation
- tRPC Documentation
- Redis Documentation