https://github.com/eduamdev/carhive
A car rental website built with Next.js (App Router) and TypeScript featuring dynamic routing, a responsive UI with Tailwind CSS, Clerk authentication, Vercel Postgres, Drizzle ORM, and Cloudinary for images. It includes search filters, an infinite logo slider, and Stripe integration
https://github.com/eduamdev/carhive
app-router clerk cloudinary drizzle-kit drizzle-orm eslint infinite-slider leaflet-react leaftlet nextjs radix-ui react search-params server-actions server-components shadcnui stripe tailwindcss typescript vercel-postgres
Last synced: 7 months ago
JSON representation
A car rental website built with Next.js (App Router) and TypeScript featuring dynamic routing, a responsive UI with Tailwind CSS, Clerk authentication, Vercel Postgres, Drizzle ORM, and Cloudinary for images. It includes search filters, an infinite logo slider, and Stripe integration
- Host: GitHub
- URL: https://github.com/eduamdev/carhive
- Owner: eduamdev
- License: mit
- Created: 2022-12-28T23:01:02.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-13T17:23:58.000Z (about 1 year ago)
- Last Synced: 2024-09-14T11:53:43.791Z (about 1 year ago)
- Topics: app-router, clerk, cloudinary, drizzle-kit, drizzle-orm, eslint, infinite-slider, leaflet-react, leaftlet, nextjs, radix-ui, react, search-params, server-actions, server-components, shadcnui, stripe, tailwindcss, typescript, vercel-postgres
- Language: TypeScript
- Homepage: https://carhive.eduam.dev
- Size: 23.5 MB
- Stars: 128
- Watchers: 2
- Forks: 23
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-shadcnui - Github
README
# Carhive
> **Warning**
> This project is a work in progress and may not function consistently. It is primarily a testing demo created for educational purposes and to explore new technologies.
## Features
- Dynamic Routing
- **Server Components** and **Server Actions**
- **Loading UI** and **Streaming with Suspense** for a smoother user experience
- SEO-friendly metadata
- Fully responsive design
- Styled with **Tailwind CSS**
- UI components built with **Shadcn/ui**
- Interactive maps using **Leaflet**
- User authentication and management via **Clerk**
- Serverless SQL powered by **Vercel Postgres** (and Neon)
- Image Management through **Cloudinary**
- Infinite Logo Slider
- Search functionality with data filtering capabilities
- Code Linting for consistent formatting
- Written in **TypeScript** for enhanced type safety
- **Drizzle ORM** for type-safe database interaction, schema generation, and migrations
- **Stripe** integration for payment processing## Requirements
Ensure the following are installed:
- Node.js (v18+)
- `pnpm` as the package manager## Prerequisites
Before running the app, make sure you have:
- A [Vercel account](https://vercel.com/) and a [Vercel Postgres Database](https://vercel.com/docs/storage/vercel-postgres)
- A [Cloudinary account](https://cloudinary.com/) for image management
- A [Clerk account](https://clerk.com/) for authentication
- A [Stripe account](https://stripe.com/) for payment processing## Running the Project Locally
1. Install dependencies:
```bash
pnpm install
```2. Set up environment variables:
- Copy the `.env.example` file to `.env` at the root of the project:
```bash
cp .env.example .env
```- Update the `.env` file with your configuration details.
3. Generate the database:
```bash
pnpm db:generate
```4. Seed the initial data:
```bash
pnpm db:seed
```5. Start the development server:
```bash
pnpm dev
```