https://github.com/chadnpc/kmr.rw
https://github.com/chadnpc/kmr.rw
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/chadnpc/kmr.rw
- Owner: chadnpc
- Created: 2025-04-11T08:34:29.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-22T08:20:50.000Z (about 1 year ago)
- Last Synced: 2025-04-22T09:31:35.105Z (about 1 year ago)
- Language: JavaScript
- Size: 1010 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# kmr: Full Stack Bike Marketplace
## Project Overview
kmr is a full-stack AI-powered bike marketplace designed to revolutionize the way users search, explore, and rent bikes. This project integrates advanced AI features with a modern and responsive user interface, providing a seamless experience for both renters and administrators.
## https://youtu.be/HyGi_SjQqV4

### Make sure to create a `.env` file with following variables -
```
DATABASE_URL=
DIRECT_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/onboarding
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding
GEMINI_API_KEY=
ARCJET_KEY=
```
## Key Features
### AI-Powered Bike Search
- **Image Upload**: Users can upload any bike image to find similar bikes in the marketplace.
- **Advanced Filtering**: Search by maker, model, price range, and more to find the perfect bike.
### Detailed Bike Pages
- **Specifications**: Comprehensive bike details including specifications and high-quality image galleries.
- **Interactive EMI Calculator**: Helps renters make informed financial decisions.
### Test Ride Booking
- **Real-Time Availability**: Book test rides with real-time availability slots from dealerships.
- **Automated Confirmations**: Receive instant confirmations for test ride bookings.
### Admin Dashboard
- **Analytics**: Powerful analytics to monitor marketplace performance.
- **Bike Inventory Management**: Full control over bike inventory and user test ride management.
- **AI-Powered Bike Detail Extractor**: Automatically populates bike details by analyzing uploaded images, saving hours of manual data entry.
## Technical Stack
### Frontend
- **Next.js**: A React framework for building server-side rendered and static web applications.
- **Tailwind CSS**: A utility-first CSS framework for rapid UI development.
- **ShadCN UI**: A component library for building modern and responsive user interfaces.
### Backend
- **Prisma**: An ORM for database management, providing type-safe database access.
### AI Integration
- **Gemini AI**: Powers the AI-driven features such as image search and bike detail extraction.
### Authentication
- **Clerk**: A user management and authentication service for secure user login and registration.
### Deployment
- **Arcjet**: A platform for deploying and managing the application.
## Project Structure
The project is structured into several technical sections, each focusing on a specific aspect of the application:
1. **Landing Page**: A professional and modern landing page with AI image search and text search capabilities.
2. **Bike Listing Page**: Displays bikes with pre-applied filters for easy navigation.
3. **Admin Panel**: Controls featured bikes, analytics, and inventory management.
4. **AI Integration**: Implementation of AI features using Gemini AI.
5. **Deployment**: Deployment strategies using Arcjet.
## Getting Started
### Prerequisites
- Node.js and npm installed.
- A database setup for Prisma.
- API keys for Gemini AI and Clerk.
### Installation
1. Clone the repository:
```bash
git clone https://github.com/your-repo/kmr.git
```
2. Navigate to the project directory:
```bash
cd kmr
```
3. Install dependencies:
```bash
npm install
```
4. Set up environment variables:
```bash
cp .env.example .env
```
Update the `.env` file with your API keys and database URL.
### Running the Application
1. Start the development server:
```bash
npm run dev
```
2. Open your browser and navigate to `http://localhost:3000`.
## License
This project is licensed under the MIT License.