5 Buck Charlie

Job Posting & Advertisement Platform

Connect Advertisers with Users Through Referral Rewards

Backend Developer • Mobile App Backend • Referral System • Device ID Tracking

Project Overview

5 Buck Charlie is a mobile application backend platform that connects advertisers with users through job postings, advertisements, and news content. As a Backend Developer on this company project, I architected and developed a comprehensive backend system supporting dual user roles (Advertisers and Normal Users), referral point tracking, device ID management, and content distribution. The platform incentivizes user engagement through a referral reward system where both users and advertisers earn points.

The backend handles job posting management, advertisement distribution, news content, referral code generation and tracking, device-based user identification, and a sophisticated points system that rewards both content creators (advertisers) and content consumers (users) for platform engagement.

Key Achievements & Impact

2
User Types
Device ID
User Tracking
Referral
Points System
Mobile
App Backend

Technical Stack

Django Django REST Framework Python PostgreSQL RESTful APIs JWT Authentication Device ID Tracking Referral System Points Management File Upload Mobile Backend

Backend Development Responsibilities

Core Features Implemented

👥 Dual User System

Advertisers: Can post jobs, advertisements, and news content. Normal Users: Can view content, earn referral points, and interact with posts.

💼 Job Posting Platform

Complete job management system with posting, categorization, search, filtering, and application tracking. Advertisers can manage multiple job listings.

📢 Advertisement Management

Advertisement creation, scheduling, targeting, and performance tracking. Support for various ad types including banners, sponsored content, and promotional posts.

📰 News Content System

News posting and distribution system allowing advertisers to publish articles and updates. Features categorization, tagging, and featured content management.

📱 Device ID Tracking

Unique device ID system for user identification and multi-device support. Tracks user activity across devices while maintaining unified account identity.

🎁 Referral Code System

Unique referral codes for each advertiser. Users can enter codes to earn points, and advertisers track referral performance and earn rewards.

⭐ Points Management

Comprehensive points system where users earn points for viewing ads and engaging with content. Advertisers earn points when their referral codes are used.

📊 Analytics & Tracking

User engagement tracking, content performance analytics, referral code usage statistics, and points transaction history for both user types.

Technical Challenges & Solutions

Challenge: Device ID-Based User Management

Problem: Implementing a reliable user identification system using device IDs while supporting multi-device access, preventing duplicate accounts, and maintaining user identity across device changes.

Solution: Created a device management system that associates multiple device IDs with a single user account. Implemented device registration endpoint that validates device IDs and links them to user accounts. Built device validation middleware that checks device ID on each request. Added device history tracking to prevent account duplication while allowing legitimate multi-device access. Implemented device change detection and account migration logic.

Challenge: Referral Code Tracking & Points Distribution

Problem: Tracking referral code usage accurately, preventing code reuse, ensuring fair points distribution to both users and advertisers, and handling concurrent referral code entries.

Solution: Implemented atomic database transactions for referral code processing to prevent race conditions. Created referral code validation system that checks code uniqueness, expiration, and usage limits. Built points distribution logic that awards points to users for entering codes and to advertisers when their codes are used. Added referral transaction tracking with timestamps and user associations. Implemented duplicate prevention by tracking device ID and user combinations for each referral code.

Challenge: Role-Based Content Access Control

Problem: Implementing secure access control ensuring only advertisers can create posts (jobs, ads, news) while users can only view content, with proper permission validation at API level.

Solution: Created custom Django permission classes (`IsAdvertiser`, `IsNormalUser`) that validate user roles before allowing actions. Implemented ViewSet-level permissions that restrict POST/PUT/DELETE operations to advertisers only. Built serializer-level validation that checks user role before processing requests. Added middleware to validate user permissions on content creation endpoints. Ensured all content viewing endpoints are accessible to both user types while creation endpoints are advertiser-exclusive.

Challenge: Points System Integrity

Problem: Maintaining accurate points balances, preventing points manipulation, handling concurrent point transactions, and ensuring fair distribution of referral rewards.

Solution: Implemented database-level constraints and atomic transactions for all points operations. Created points transaction model that logs every points change with timestamp, user, reason, and amount. Built points balance calculation that aggregates transactions rather than storing mutable balance. Added validation to prevent negative balances and ensure points are only awarded for legitimate actions. Implemented idempotent points operations to prevent duplicate point awards from retries or concurrent requests.

Challenge: Content Distribution & Performance

Problem: Efficiently serving jobs, advertisements, and news content to mobile app users with proper filtering, pagination, and performance optimization for large content volumes.

Solution: Implemented efficient database queries using `select_related()` and `prefetch_related()` to minimize database hits. Created pagination system for content endpoints to handle large datasets. Built filtering and search functionality at database level for optimal performance. Implemented caching strategy for frequently accessed content. Added content prioritization logic (featured content, recent posts) to improve user experience. Optimized API responses with selective field serialization to reduce payload size for mobile apps.

Database Architecture

API Endpoints Developed

User Management

Job Management

Advertisement Management

News Management

Referral System

Business Model Implementation

Platform Mechanics

Security & Performance

Project Details

Project: 5 Buck Charlie - Job Posting & Advertisement Platform
Role: Backend Developer
Company: ENIGMATIX
Type: Company Project, Mobile App Backend
Tech Stack: Django, Django REST Framework, Python, PostgreSQL
Key Features: Dual User Roles, Job Posting, Advertisements, News, Device ID Tracking, Referral System, Points Management

Key Achievement

Successfully architected and implemented a comprehensive mobile app backend supporting dual user roles, referral-based engagement system, and device ID tracking. The platform enables advertisers to reach users through job postings and advertisements while incentivizing user engagement through a sophisticated points and referral reward system.