-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'hotfix/1.9.3' into develop
- Loading branch information
Showing
3 changed files
with
53 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,86 +1,84 @@ | ||
<a href="https://twitter-v2-sand.vercel.app/" target="_blank" rel="noopener"> | ||
<picture> | ||
<source media="(prefers-color-scheme: dark)" srcset="" /> | ||
<img alt="Chirp" src="" /> | ||
</picture> | ||
</a> | ||
|
||
<div align="center"> | ||
<h1>Chirp</h1> | ||
<h3>A full-stack Twitter clone<br />built with Next.js, React Query,<br /> Prisma, PostgreSQL, and Supabase.</h3> | ||
|
||
<br /> | ||
<figure> | ||
<img src="" alt="Demo" /> | ||
<figcaption> | ||
<p align="center"> | ||
Chirp in action | ||
</p> | ||
</figcaption> | ||
</figure> | ||
</div> | ||
|
||
<br /> | ||
# Chirp | ||
|
||
## Features | ||
|
||
Chirp users can: | ||
[Preview the project](http://twitter.fly.dev) | ||
|
||
- 📱 View the optimal layout for the interface depending on their device's screen size | ||
- 🎨 Tailor the interface to their preferences with custom themes and colors | ||
- 🔑 Sign in with Google | ||
- 🎨 Customize profile (upload profile and banner images, change name, add description, location, and website) | ||
- 👀 See what other users are tweeting about and inspect their activity such as likes, retweets, and comments. | ||
- 📷 Share their moments - create and upload tweets with up to 4 images. | ||
- 💬 Engage in conversation by replying to tweets | ||
- ❤️ Give their approval with a like, or take it back | ||
- 🔄 Retweet and quote tweets - Share a tweet with their followers by retweeting or quote it with their own thoughts and comments. | ||
- 🔖 Save tweets for later and organize them with bookmarks | ||
- 🔥 View trending hashtags and create their own by including them in their tweets | ||
- 👥 Discover and follow other users, as well as inspect their profiles and tweets. | ||
- 📩 Send and receive direct messages | ||
This project is an experiment to learn and grow, to dive-deep into full-stack development and see what I can build. My goal is to create a social media platform inspired by Twitter, but with my own unique touch. It's a learning playground where I'll be experimenting with different features, mimicking and improving functionalities found on Twitter, while also learning and applying new tools and technologies along the way. | ||
|
||
## Development workflow | ||
## Features | ||
|
||
Chirp uses [yarn](https://yarnpkg.com/) as a package manager, so make sure to [install](https://yarnpkg.com/getting-started/install) it first. | ||
- Fully responsive and pixel-perfect design. | ||
- Customize your experience with personalized themes, colors, and font sizes. | ||
- Customize your profile by uploading profile and banner images, and adding personal details. | ||
- Compose tweets with up to 4 images and express yourself with emoji support. | ||
- Engage with tweets - like, comment, retweet, quote, and share. | ||
- Save tweets with bookmark feature for quick access later. | ||
- Discover trending hashtags and make your own by using them in your tweets. | ||
- Discover and follow other users, as well as inspect their profiles and tweets. | ||
- Send and receive direct messages in real-time. | ||
|
||
### Built with | ||
|
||
- [Next.js](https://nextjs.org/) | ||
- [TypeScript](https://www.typescriptlang.org/) | ||
- [TanStack Query](https://tanstack.com/query/latest) | ||
- [NextAuth.js](https://next-auth.js.org/) | ||
- [Prisma](https://www.prisma.io/) | ||
- [Zustand](https://zustand.surge.sh/) | ||
- [Socket.io](https://socket.io/) | ||
- [zod](https://github.com/colinhacks/zod) | ||
- [Upstash Redis](https://upstash.com/) | ||
- [Framer motion](https://www.framer.com/motion/) | ||
- [Tailwind CSS](https://tailwindcss.com/) | ||
- [SCSS](https://sass-lang.com/) | ||
|
||
## Getting started | ||
|
||
Chirp uses [pnpm](https://pnpm.io) as a package manager, so make sure to [install](https://pnpm.io/installation) it first. | ||
|
||
### Installation | ||
|
||
```bash | ||
git clone git@github.com:davitJabushanuri/Chirp.git | ||
cd Chirp | ||
yarn install | ||
yarn dev | ||
pnpm i | ||
pnpm dev | ||
``` | ||
|
||
### Environment Variables | ||
|
||
Before running the development server, make sure to create `.env` and `.env.local` files in the root directory of the project and add the required environment variables. You can use the examples provided in the repository as a starting point: [.env.example](https://github.com/davitJabushanuri/Chirp/blob/main/.env.axample) and [.env.local.example](https://github.com/davitJabushanuri/Chirp/blob/main/.env.local.example). | ||
Before running the development server, make sure to create `.env` file in the root directory of the project and add the required environment variables. You can use the example provided in the repository as a starting point. | ||
|
||
```bash | ||
cp .env.example .env | ||
cp .env.local.example .env.local | ||
``` | ||
|
||
### Prisma | ||
|
||
Chirp uses [Prisma](https://www.prisma.io/) as an ORM to interact with the database. Before running the development server, make sure to generate the Prisma client by running: | ||
|
||
```bash | ||
yarn prisma generate | ||
npx prisma generate | ||
``` | ||
|
||
After generating the Prisma client, make sure to also push any changes to the database schema by running: | ||
|
||
```bash | ||
yarn prisma db push | ||
npx prisma db push | ||
``` | ||
|
||
This ensures that the local database is up-to-date with any changes made to the schema in the codebase. | ||
|
||
## Contributing | ||
|
||
- Missing something or found a bug? [Report here](https://github.com/davitJabushanuri/Chirp/issues). | ||
- Want to contribute? Check out our [contribution guide](https://github.com/davitJabushanuri/Chirp/blob/main/CONTRIBUTING.md). | ||
- Want to contribute? Check out the [contribution guide](https://github.com/davitJabushanuri/Chirp/blob/main/CONTRIBUTING.md). | ||
|
||
## License | ||
|
||
Chirp is licensed under the [MIT License](https://github.com/davitJabushanuri/Chirp/blob/main/LICENSE.md). | ||
Distributed under the [MIT License](https://github.com/davitJabushanuri/Chirp/blob/main/LICENSE). | ||
|
||
## Acknowledgments | ||
|
||
- [Docker](https://www.docker.com/) | ||
- [Fly.io](https://fly.io/) | ||
- [Supabase](https://supabase.com/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters