diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dc0fe4b..f004e4a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 diff --git a/README.md b/README.md index 0a1a924..d61077a 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,55 @@ - - - - Chirp - - - -
-

Chirp

-

A full-stack Twitter clone
built with Next.js, React Query,
Prisma, PostgreSQL, and Supabase.

- -
-
- Demo -
-

- Chirp in action -

-
-
-
- -
+# 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 @@ -65,13 +57,13 @@ cp .env.local.example .env.local 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. @@ -79,8 +71,14 @@ This ensures that the local database is up-to-date with any changes made to the ## 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/) diff --git a/package.json b/package.json index 56b0cab..958f356 100644 --- a/package.json +++ b/package.json @@ -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",