Autoilty-11

๐Ÿš˜ Autoilty - Canadaโ€™s Premier Auto Business Directory

๐ŸŒŸ Overview

Autoilty.com is a comprehensive business curation platform for the Canadian automotive industry, inspired by the BestDubai.com model. It showcases vetted auto businessesโ€”mechanics, dealerships, parts stores, detailing services, and moreโ€”using an advanced 10-point scoring system based on reviews, community engagement, social signals, and Canadian-specific excellence factors.

Key Features


๐Ÿ—๏ธ Architecture

Tech Stack

Frontend:

Backend:

Data Curation:

DevOps:


๐Ÿš€ Quick Start

Prerequisites

Installation

  1. Clone the repository:
    git clone https://github.com/your-org/autoilty.git
    cd autoilty
    
  2. Install dependencies: ```bash

    Backend dependencies

    npm install

Frontend dependencies

cd client && npm install && cd ..

Python dependencies

pip3 install -r requirements.txt


3. **Configure environment:**
```bash
cp .env.example .env
# Edit .env with your API keys and configuration
  1. Seed the database:
    npm run seed
    
  2. Start development servers: ```bash

    Terminal 1 - Backend

    npm run dev

Terminal 2 - Frontend

npm run client

Or run both concurrently

npm run dev:full


6. **Access the application:**
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- GraphQL Playground: http://localhost:5000/graphql

---

## ๐Ÿณ Docker Deployment

### Development

```bash
docker-compose up -d

Production

docker-compose -f docker-compose.prod.yml up -d

Services:


๐Ÿ“Š Data Curation

Running the Scraper

# Scrape test cities (Toronto, Vancouver, Montreal, Calgary)
python3 scripts/data-scraper.py

# Full scraping (all major Canadian cities)
# Edit data-scraper.py and uncomment scraper.scrape_all_cities()

Rate Limiting: Built-in delays and API rate limit handling ensure ethical scraping.

Data Sources:

Score Calculation

Scores are automatically calculated and can be updated:

# Update all business scores
node scripts/score-updater.js

# Update specific business
node scripts/score-updater.js --id BUSINESS_ID

# Run as scheduled daemon (daily at 2 AM)
node scripts/score-updater.js --schedule

๐Ÿงช Testing

Unit Tests

npm test                  # Run all tests
npm test -- --coverage   # With coverage report

Load Testing

npm run test:load        # Artillery load test

Load Test Scenarios:

Target Metrics:


๐Ÿ” SEO & Visibility

Features

  1. Schema Markup
    • LocalBusiness schema for all profiles
    • Breadcrumb navigation
    • AggregateRating schema
  2. Meta Tags
    • Dynamic Open Graph tags
    • Twitter Cards
    • Keyword optimization
  3. Sitemap & Robots
    • Auto-generated sitemap.xml
    • Robots.txt for search engine guidance
    • Cached for 24 hours

Access SEO Files

https://autoilty.com/sitemap.xml
https://autoilty.com/robots.txt

๐Ÿ“ˆ API Documentation

REST API Endpoints

Businesses

GET    /api/businesses                    # List all businesses (paginated)
GET    /api/businesses/:slug              # Get business by slug
GET    /api/businesses/top/:category      # Top businesses by category
GET    /api/businesses/nearby             # Geospatial search
POST   /api/businesses                    # Create business (auth required)
PUT    /api/businesses/:id                # Update business (auth required)
POST   /api/businesses/:id/vote           # Vote on business (auth required)
POST   /api/businesses/:id/click/:type    # Track analytics
GET    /api/search                        # Full-text search
GET    /api/search/autocomplete           # Autocomplete suggestions

Authentication

POST   /api/auth/register                 # Register new user
POST   /api/auth/login                    # Login
GET    /api/auth/me                       # Get current user
PUT    /api/auth/updateprofile            # Update profile

Analytics

GET    /api/analytics/stats               # Platform statistics
GET    /api/analytics/business/:id        # Business analytics (auth required)

GraphQL API

Endpoint: /graphql

Sample Queries:

# Get top mechanics in Ontario
query {
  topBusinesses(category: "mechanics", province: "ON", limit: 10) {
    name
    slug
    score {
      total
      reviews
      community
    }
    location {
      address {
        city
        province
      }
    }
  }
}

# Search businesses
query {
  searchBusinesses(query: "auto repair toronto", page: 1, limit: 20) {
    businesses {
      name
      score { total }
    }
    total
    pages
  }
}

# Vote on business
mutation {
  voteBusiness(businessId: "507f1f77bcf86cd799439011", voteType: "upvote") {
    upvotes
    downvotes
    score { total }
  }
}

๐ŸŽจ Frontend Components

Key Components

State Management


๐Ÿ” Security & Compliance

PIPEDA Compliance

Security Features


๐Ÿ“Š Monitoring & Analytics

Built-in Analytics

External Integration

Logging


๐Ÿ’ฐ Monetization Features

Premium Listings

Affiliate Integration

Business Claims


๐ŸŒ Scalability

Performance Optimizations

  1. Caching Strategy
    • Redis for API responses (5-60 min TTL)
    • Browser caching with ETags
    • Sitemap caching (24h)
  2. Database Optimization
    • Compound indexes on category + score
    • Geospatial 2dsphere index
    • Text search indexes
    • Connection pooling
  3. CDN Ready
    • Static assets optimization
    • Image lazy loading
    • Code splitting

Load Capacity

Target:


๐Ÿ› ๏ธ Development Workflow

Branch Strategy

main              # Production
develop           # Development
feature/*         # Feature branches
hotfix/*          # Emergency fixes

Code Quality

npm run lint      # ESLint
npm run format    # Prettier
npm test          # Jest tests

Deployment

# Build for production
npm run build

# Deploy with Docker
docker-compose -f docker-compose.prod.yml up -d

# Database migrations
npm run migrate

๐Ÿ“ž Support & Contact


๐Ÿ“„ License

Copyright ยฉ 2025 Autoilty.com. All rights reserved.

This project is proprietary software. Unauthorized copying, modification, or distribution is prohibited.


๐Ÿ™ Acknowledgments


๐Ÿš€ Roadmap

Q1 2025

Q2 2025

Q3 2025

Q4 2025


Built with โค๏ธ in Canada ๐Ÿ‡จ๐Ÿ‡ฆ

Autoilty.com - Driving Canadian Automotive Excellence