Skip to main content
RestAPI is a comprehensive Django REST Framework service designed for managing vehicle-based advertising campaigns with full-featured campaign, vehicle, and user management capabilities.

Overview

RestAPI provides a complete backend solution for managing advertising campaigns on vehicles. The system supports multiple user roles, campaign management, vehicle tracking, financial transactions, and real-time notifications.

Key Features

JWT Authentication

Secure authentication with 8-hour access tokens using Simple JWT

Campaign Management

Create and manage advertising campaigns with geographic sectors and geofencing

Vehicle Tracking

Track vehicles, routes, and advertising coverage in real-time

Multi-Role System

Support for admins, advertisers, companies, and drivers with role-based permissions

Firebase Integration

Push notifications via Firebase Cloud Messaging

Email Notifications

HTML email templates for user communications

PostgreSQL Database

Robust data storage with Django ORM

Financial Tracking

Track payments, transactions, and campaign budgets

What You Can Build

With RestAPI, you can build:
  • Campaign Management Platforms: Create and manage advertising campaigns with geographic targeting
  • Vehicle Tracking Systems: Monitor vehicle routes and advertising exposure
  • Driver Applications: Allow drivers to register vehicles and track earnings
  • Advertiser Dashboards: Enable companies to create campaigns and monitor performance
  • Workshop Management: Coordinate vehicle branding installations across workshops

Architecture

RestAPI is built with:
  • Django 4.2.6: Web framework for the backend
  • Django REST Framework 3.14.0: RESTful API development
  • PostgreSQL: Primary database
  • Simple JWT: Token-based authentication
  • Firebase Cloud Messaging: Push notifications
  • CORS Headers: Cross-origin resource sharing support

Core Components

Manage advertising campaigns with customizable parameters including budget, geographic sectors, vehicle types, branding options, and monetization schedules.
Register and track vehicles with detailed information including make, model, images, and associated drivers or clients.
Three primary user types: Administrators (full system access), Advertisers/Publicists (campaign creation), and Companies (campaign management). Driver and client roles for campaign participation.
Define geographic sectors with virtual boundaries using JSON coordinate data for targeted advertising zones.
Track capital movements, transactions, and campaign budgets with detailed financial records.
Granular role-based permissions with menu, view, and action-level controls.

Getting Started

Quickstart

Get your development environment up and running in minutes

Authentication

Learn how to authenticate and secure your API requests

API Reference

Explore the complete API documentation

Configuration

Configure your environment variables and settings

API Endpoints

RestAPI provides RESTful endpoints for all resources:
  • User management and authentication
  • Campaign creation and management
  • Vehicle registration and tracking
  • Company and advertiser profiles
  • Financial transactions
  • Geographic sectors
  • Workshop coordination
  • Email and push notifications
All endpoints follow REST conventions with support for GET, POST, PUT, PATCH, and DELETE operations where appropriate.

Next Steps

1

Install Dependencies

Set up Python 3.10 and install required packages from requirements.txt
2

Configure Database

Set up PostgreSQL and configure your database connection
3

Environment Variables

Create your .env file with required configuration
4

Run Migrations

Apply database migrations to set up your schema
5

Start Development Server

Launch the Django development server and start building

Build docs developers (and LLMs) love