Moto-Hub is a feature-rich web application designed to simplify the process of buying, selling, and renting vehicles. Built with modern technologies like React, Vite, and Tailwind CSS, it offers a seamless and intuitive user experience. Whether you're a car enthusiast, a dealer, or someone looking for their next ride, Moto-Hub has you covered.
- User Authentication: Secure login and registration powered by Clerk.
- Dynamic Listings: Add, edit, and delete car listings with real-time updates.
- Advanced Search: Filter cars by category, make, condition, price, and more.
- Financial Calculator: Calculate monthly payments for car loans directly on the platform.
- Real-Time Messaging: Communicate with buyers and sellers using Sendbird's chat integration.
- Image Management: Upload and manage car images using Appwrite's storage service.
- Database Management: Manage listings and user data with Drizzle ORM and PostgreSQL.
- Analytics: Track the most searched cars and user interactions.
- Responsive Design: Fully optimized for mobile, tablet, and desktop devices.
- Modern UI: Built with Tailwind CSS for a clean and professional look.
- Interactive Components: Dynamic carousels, dropdowns, and modals for enhanced usability.
- Frontend: React, Vite, Tailwind CSS
- Backend: PostgreSQL, Drizzle ORM
- Authentication: Clerk
- Storage: Appwrite
- Messaging: Sendbird
- Utilities: Axios, Moment.js, Faker.js
Follow these steps to set up and run the project locally:
Ensure you have the following installed:
- Node.js (v16 or higher)
- npm or yarn
- PostgreSQL database
- Appwrite account for image storage
- Clerk account for authentication
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd car-hub - Install dependencies:
npm install
Create a .env file in the root directory and add the following variables:
VITE_CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>
VITE_APPWRITE_PROJECT_ID=<your-appwrite-project-id>
VITE_APPWRITE_STORAGE_ID=<your-appwrite-storage-id>
VITE_DRIZZLE_DATABASE_URL=<your-database-url>- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:5173.
Moto-Hub uses PostgreSQL as its database. To set up the database schema, run the following command:
npm run db:pushTo explore the database visually, use the Drizzle Studio:
npm run db:studioTo build the application for production, run:
npm run buildThe production-ready files will be available in the dist directory.
We welcome contributions from the community! Here's how you can get involved:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your message here" - Push to your branch:
git push origin feature/your-feature-name
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or feedback, feel free to reach out:
- Email: support@moto-hub.com
- Website: Moto-Hub