Frontend IOS App -> https://github.com/MitchZinck/CarBN-iOS
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.
- 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
- 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
- Go 1.23 or later
- PostgreSQL 12+
- Environment variables configured (see
.env.example)
- Clone the repository:
git clone <repository-url>
cd CarBN_backend- Install dependencies:
go mod download- Set up your environment variables:
cp .env.example .env
# Edit .env with your configuration- Initialize the database:
# Create your PostgreSQL database
# Run the SQL schema
psql -d your_database -f postgres/sql/create.sql- Start the development server:
go run main.goThe server will start on http://localhost:8080
Development: http://localhost:8080
Most endpoints require a Bearer token in the Authorization header:
Authorization: Bearer <access_token>