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
Install / Use
/learn @eduamdev/CarhiveREADME
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+)
pnpmas the package manager
Prerequisites
Before running the app, make sure you have:
- A Vercel account and a Vercel Postgres Database
- A Cloudinary account for image management
- A Clerk account for authentication
- A Stripe account for payment processing
Running the Project Locally
- Install dependencies:
pnpm install
- Set up environment variables:
-
Copy the
.env.examplefile to.envat the root of the project:cp .env.example .env -
Update the
.envfile with your configuration details.
- Generate the database:
pnpm db:generate
- Seed the initial data:
pnpm db:seed
- Start the development server:
pnpm dev
Related Skills
bluebubbles
329.0kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
node-connect
329.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
slack
329.0kUse when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
frontend-design
81.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
