Skip to content

Marmo77/Car-Dealer_Website

Repository files navigation


Car Dealer

πŸš— Modern Car Dealership Platform

A full-stack car dealership website built with React, TypeScript, and AppWrite
Top Language Language Count Repo Size Last Commit

You can see working website on Live server


{*YES, readme is generated with AI :D*}

  1. πŸ€– Introduction
  2. πŸ“Έ Showcase
  3. βš™οΈ Tech Stack
  4. ✨ Features
  5. πŸ”§ Architecture
  6. πŸš€ Quick Start
  7. πŸ“Š Database Schema
  8. πŸ—ΊοΈ Roadmap
  9. 🧠 Learning Journey
  10. 🀝 Contributing
  11. πŸ“„ License
  12. πŸ“ž Contact

Welcome to my Car Dealership Platform - A Learning-Driven Full-Stack Project

This is my first fully finished project and represents a significant milestone in my web development journey. What started as a spontaneous late-night coding session (2am to 5am ☠️) became a comprehensive car dealership website that taught me real database integration and modern web development practices.

Development Time Status Focus

🎯 Project Goals

  • Learn Real Database Integration: Move beyond "fake" databases to actual backend solutions
  • Master Modern Web Stack: React, TypeScript, and cutting-edge tooling
  • Build Something Practical: A functional car dealership with real-world features
  • Minimize AI Dependency: Focus on hands-on learning and problem-solving

🎬 Project Highlights

Home Page


home

Browse Page


home

About Page


home

Contact Page


home

Contact Form


home

Car Details


home

You can also see this on live server *LINK*

πŸ† Current MVP Features

Feature Status Description
πŸš— Car Listings βœ… Complete Real-time data from AppWrite database
πŸ” Advanced Filtering βœ… Complete Filter by make, model, price, year, etc.
πŸ“± Responsive Design βœ… Foundation Clean UI with Tailwind CSS & shadcn
⚑ Fast Performance βœ… Optimized Vite build system for lightning-fast loads
πŸ”— Database Queries βœ… Advanced Complex query merging & conditional arrays
βœ‰οΈ Contact Form βœ… Complete A contact form that transfers data to the database

πŸ“± Code Snippets & Structure

Advanced TypeScript implementations and clean folder architecture

Code Structure


🎨 Frontend Technologies

React TypeScript Vite Tailwind shadcn/ui

πŸ”§ Backend & Database

AppWrite TypeScript

πŸ› οΈ Development Tools

npm Git VS Code

🎯 MVP (Minimum Viable Product)

βœ… Completed Features

  • πŸ”— Car Database Integration: Real-time data fetching from AppWrite database
  • πŸš— Car Display System: Clean presentation of car listings with essential details
  • πŸ” Advanced Filtering System: Filter cars by make, model, price range, year, and more
  • πŸ“± Responsive Base Layout: Mobile-friendly design foundation
  • ⚑ Database Query Optimization: Advanced query merging and conditional operations
  • 🎨 Modern UI Components: Clean interface using Tailwind CSS and shadcn/ui πŸ“„ Car Details Pages: Individual car pages with complete specifications (/car/{car_id})
    • ℹ️ About Page: Company information and dealership details
  • πŸ“± Completed Mobile Responsiveness: Enhanced mobile experience
  • ❀️ Favorites System: User wishlist functionality (localStorage)
  • πŸ“§ Newsletter Management: Email subscription handling

πŸ”¨ In Progress

Now is a break from the project, but definitelly I will start with optimizing Performance and Admin CRUD

πŸ—ΊοΈ Planned Features

  • πŸ” Admin Panel with CRUD: Complete car management system
  • πŸ–ΌοΈ Image Gallery: Multiple images per car listing
  • ⭐ User Reviews: Rating and review system

πŸ—οΈ Project Structure & Database Design

πŸ“ Folder Structure

Car-Dealer_Website/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ pages/              # Route components
β”‚   β”œβ”€β”€ lib/                # Utilities and configurations
β”‚   β”œβ”€β”€ hooks/              # Custom React hooks
β”‚   └── types/              # TypeScript type definitions
β”œβ”€β”€ public/                 # Static assets
└── ...config files

πŸ—ƒοΈ Database Collections

Cars Collection - Main inventory data Messages Collection - Contact form submissions
Newsletters Collection - Email subscriptions


⚑ Get Started in Minutes

πŸ“‹ Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn package manager
  • AppWrite account (free tier available)

πŸ”§ Installation

Step 1: Clone the Repository

git clone https://github.com/Marmo77/Car-Dealer_Website.git
cd Car-Dealer_Website

Step 2: Install Dependencies

npm install

Step 3: Set Up AppWrite

  1. Create an account at AppWrite
  2. Create a new project
  3. Set up a database and collection for cars
  4. Get your credentials:
    • PROJECT_ID
    • DATABASE_ID
    • ENDPOINT
    • COLLECTION_ID

Step 4: Configure Environment Variables

Create a .env.local file in the root directory:

VITE_APPWRITE_PROJECT_ID=your_project_id
VITE_APPWRITE_PROJECT_NAME=your_project_name
VITE_APPWRITE_DATABASE_ID=your_database_id
VITE_APPWRITE_ENDPOINT=your_endpoint 
VITE_APPWRITE_COLLECTION_ID=your_collection_id
VITE_APPWRITE_CONTACT_MESSAGE_COLLECTION_ID=your_contactMessagesCollection_id
VITE_APPWRITE_NEWSLETTER_COLLECTION_ID=your_newsletterCollection_id

Step 5: Run the Development Server

npm run dev
πŸŽ‰ **The application will be available at** `http://localhost:5173`

πŸ—ƒοΈ AppWrite Database Structure

πŸš— Cars Collection

Cars Database Schema gif1

πŸ“§ Messages Collection

gif2

πŸ“° Newsletters Collection

Newsletters Database Schema gif3

🎯 Development Phases

Phase 1: Core Improvements πŸ”¨

  • βœ… Implement About page
  • βœ… Add car detail pages
  • βœ… Improve error handling
  • βœ… Complete mobile responsiveness

Phase 2: User Features 🎨

  • βœ… Favorites/Wishlist functionality (localStorage)
  • βœ… Newsletter and contact form management
  • βœ… Advanced search and sorting options

Phase 3: Advanced Features πŸš€ (Current)

  • πŸ”„ Admin panel with full CRUD operations
  • πŸ”„ Car inventory management system
  • πŸ”„ User reviews and ratings system
  • πŸ”„ Multi-image upload system

Phase 4: Performance & Polish ✨

  • πŸ”„ SEO optimization
  • πŸ”„ Performance improvements
  • πŸ”„ Advanced animations (Framer Motion)
  • πŸ”„ PWA capabilities

πŸ’‘ Key Learnings & Insights

πŸŽ“ Technical Skills Developed

  • Database Integration Mastery: Real-world AppWrite implementation
  • Advanced Query Techniques: Complex data filtering and conditional arrays
  • TypeScript Proficiency: Strong typing and modern JavaScript patterns
  • React Modern Patterns: Hooks, context, and component composition
  • CSS Framework Expertise: Tailwind CSS and component libraries
  • Environment Configuration: API keys and deployment preparation
### πŸŒ™ **The Late-Night Learning Session (2am-5am)**

This project taught me about persistence, problem-solving under pressure, and the satisfaction of building something real. The late-night coding session was intense but incredibly rewarding!

🎯 Project Philosophy

  • Minimal AI Dependency: Focus on hands-on learning and understanding
  • Real-World Application: Build practical, usable software
  • Continuous Improvement: Iterative development and feature enhancement
  • Clean Code Practices: Readable, maintainable, and scalable codebase

🌟 Join the Development Journey

This is primarily a learning project, but contributions are welcome! Here's how you can help:

πŸ”„ Contribution Process

# 1. Fork the repository
# 2. Create a feature branch
git checkout -b feature/amazing-feature

# 3. Commit your changes  
git commit -m 'Add amazing feature'

# 4. Push to the branch
git push origin feature/amazing-feature

# 5. Open a Pull Request

🎯 Areas for Contribution

  • πŸ› Bug Fixes: Help identify and resolve issues
  • 🎨 UI/UX Improvements: Enhanced design and user experience
  • πŸ“± Mobile Responsiveness: Better mobile optimization
  • ⚑ Performance Optimizations: Speed and efficiency improvements
  • πŸ“– Documentation: Improve guides and code comments

This project is open source and available under the MIT License.

MIT License

🌐 Let's Connect

Marmo77 - Full-Stack Developer & Learner

GitHub

Project Repository: Car-Dealer_Website


⭐ If you found this project helpful, please give it a star!

Built with ❀️ and lots of late-night coding sessions

Releases

No releases published

Packages

 
 
 

Contributors