Skip to content

Commit

Permalink
Merge branch 'hotfix/1.9.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
davitJabushanuri committed Mar 8, 2024
2 parents f05e74b + 16f7a74 commit 79a20a2
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 61 deletions.
16 changes: 5 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,11 @@ Pull requests are welcome. For major changes, please [open an issue](https://git

## Setup

1. Fork and clone the repo
2. Run yarn to install dependencies
3. Create a branch for your PR with git checkout -b your-branch-name

To keep main branch pointing to remote repository and make pull requests from branches on your fork. To do this, run:

```bash
git remote add upstream https://github.com/davitJabushanuri/Chirp.git
git fetch upstream
git branch --set-upstream-to=upstream/main main
```
1. Fork the Project
2. Create your feature branch `git checkout -b feature/amazing-feature`
3. Commit your changes `git commit -m 'feat: add some amazing feature'`
4. Push to the branch `git push origin feature/AmazingFeature`
5. Open a Pull Request

## Pull Request Guidelines

Expand Down
96 changes: 47 additions & 49 deletions README.md
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 [email protected]: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/)
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "chirp",
"description": "Chirp is a social media app built with Next.js, Prisma, and Supabase",
"version": "1.9.2",
"version": "1.9.3",
"private": true,
"scripts": {
"start": "next start",
Expand Down

0 comments on commit 79a20a2

Please sign in to comment.