Skip to content

CarBN Backend is a Go-based backend service for the CarBN iOS app, enabling AI-powered car recognition, user collections, trading, social feeds, and secure authentication.

Notifications You must be signed in to change notification settings

MitchZinck/CarBN

Repository files navigation

Download on the App Store

Frontend IOS App -> https://github.com/MitchZinck/CarBN-iOS

CarBN Backend

A Go-based backend service for CarBN, an iOS car-collecting app that uses AI to recognize and catalog cars from photos. Users can build collections, trade with friends, and participate in a social feed system.

Features

  • Car Recognition: AI-powered car identification from photos
  • User Collections: Personal car card collections with rarity systems
  • Social Features: Friend system with requests and feeds
  • Trading System: Car trading between friends (subscription required)
  • Subscription Management: Apple App Store integration for subscriptions and scan packs
  • Feed System: Activity feeds showing friend interactions
  • Likes System: Like cars and feed items
  • Car Upgrades: Premium image upgrades for collected cars
  • Secure Authentication: Google and Apple Sign-In support

Tech Stack

  • Backend: Go 1.23+
  • Database: PostgreSQL
  • Authentication: JWT tokens with Google/Apple OAuth
  • AI Integration: Google Generative AI for car recognition
  • Payment Processing: Apple App Store Server-to-Server notifications

Quick Start

Prerequisites

  • Go 1.23 or later
  • PostgreSQL 12+
  • Environment variables configured (see .env.example)

Installation

  1. Clone the repository:
git clone <repository-url>
cd CarBN_backend
  1. Install dependencies:
go mod download
  1. Set up your environment variables:
cp .env.example .env
# Edit .env with your configuration
  1. Initialize the database:
# Create your PostgreSQL database
# Run the SQL schema
psql -d your_database -f postgres/sql/create.sql
  1. Start the development server:
go run main.go

The server will start on http://localhost:8080

Base URL

Development: http://localhost:8080

Authentication

Most endpoints require a Bearer token in the Authorization header:

Authorization: Bearer <access_token>

About

CarBN Backend is a Go-based backend service for the CarBN iOS app, enabling AI-powered car recognition, user collections, trading, social feeds, and secure authentication.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published