Rogerio Barber is a web app that allows users to book services of barbershops. Users can browse different barbershops, see their ratings, prices, and availability, and make an appointment with a few clicks, in a beautiful UI designed to have the best UX possible.
Feel free to see it live below:
This project is built with the following technologies:
- Next.js: A React framework for building fast and scalable web apps with server-side rendering, static site generation, and API routes.
- Prisma: A next-generation ORM for Node.js and TypeScript that simplifies database access and management.
- Tailwind CSS: A utility-first CSS framework that provides a set of customizable classes for styling elements.
- Supabase: A platform that provides authentication, cloud storage, hosting, and other services for web and mobile apps.
- NextAuth: A library that provides authentication for Next.js apps using various providers and strategies.
- Bun: A runtime, package manager and much more, used in this case to get faster packages installation than NPM.
Some of the features of this app are:
- User authentication with NextAuth using Google as a social login option.
- Barbershop listing and filtering with Prisma and Next.js API routes.
- Barbershop details with Prisma and Next.js API routes.
- Booking system with Prisma and Next.js API routes.
To run this project locally, you need to have Node.js, bun (can also be npm), and a PostgreSQL database installed on your machine. Then, follow these steps:
- Clone this repository and navigate to the project folder.
- Install the dependencies with
bun install
. - Create a
.env
file in the root directory and add the following environment variables:
DATABASE_URL="postgresql://USER:PASSWORD@HOST:PORT/DATABASE"
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""
NEXT_AUTH_SECRET="secrethere"
- Run
bunx prisma migrate dev
to apply the database migrations and create the tables. - Run
bunx prisma db seed
to populate the database with some sample data. - Run
bun run dev
to start the development server. - Open
http://localhost:3000
in your browser and enjoy the app. 😊
This project is open for contributions. If you want to add a feature, fix a bug, or improve the code quality, feel free to submit a pull request. You can also open an issue if you find any problems or have any suggestions. 🙏
This project is licensed under the MIT License.