Skip to content

Repository files navigation

Cullo App - Subscription Guard & Financial Assistant

Laravel Framework Enterprise Grade License-MIT

Cullo App is a high-performance, enterprise-grade subscription tracking and management platform designed to help users stop wasting money on forgotten services. It moves beyond simple "reminder notifications" by offering deep financial insights and a cascading alert system.


🚀 Key Features

  • Subscription Lifecycle Management: Express-entry for services (Netflix, Spotify, etc.) with granular billing cycles.
  • Cascading renewal Alerts: A sophisticated notification engine that handles system defaults and user-specific overrides from minutes to months in advance.
  • Bill Shock Protection: Real-time monitoring of upcoming renewals against user-set monthly financial limits.
  • Monthly Spend Dashboard: Comprehensive visual breakdown of total costs, category spending, and expensive outliers.
  • Inactive Subscription Detector: Intelligent tracking of "last used" status to identify potential savings.
  • Family Sharing (PRO): Collaborative dashboards for household subscription management.
  • Cross-Platform Sync (PRO): Secure cloud backup and synchronization across devices.

🏗 Architecture & Engineering

This project is built with a focus on scalability, maintainability, and high standards:

  • Backend: Laravel 13 (PHP 8.3+)
  • Storage: PostgreSQL optimized for relational consistency
  • Auth: Laravel Sanctum (token-based mobile authentication)
  • Real-time: Laravel Reverb (WebSocket server for push notifications)
  • Background Jobs: Laravel Queue (database driver) with automatic retries
  • Security: UUID-based primary keys for all entities to prevent ID enumeration
  • Scalability: Domain-driven controller namespacing (Api\Auth, Api\Core, Api\Subscription, Api\Dashboard)

📚 Documentation

Detailed documentation for the backend development can be found in the docs directory:


🛠 Getting Started

Prerequisites

  • PHP 8.3+
  • Composer
  • Node.js & NPM

Installation

  1. Clone the repository

    git clone [repository-url]
    cd cullob
  2. Run the setup script The project includes a comprehensive setup script defined in composer.json:

    composer run setup
  3. Configure your environment Copy .env.example to .env and update your database, Reverb, and broadcasting credentials:

    cp .env.example .env
    php artisan key:generate

▶️ Running the Development Stack

The Cullo backend requires four processes to be running simultaneously for full functionality. Open four terminal tabs and run each:

1. API Server (Laravel Dev Server)

php artisan serve

2. Real-time WebSocket Server (Reverb)

Handles all push notifications delivered to mobile clients in real-time.

php artisan reverb:start

On production or staging, run Reverb in the background:

php artisan reverb:start --host="0.0.0.0" --port=8080 --daemon

3. Queue Worker

Processes the DeliverRenewalAlertJob dispatched by the alert scanner. Required for notifications to be actually sent.

php artisan queue:work

To process a single job for quick debugging:

php artisan queue:work --once

4. Task Scheduler (Development)

In production this is a single cron entry. For local development, run the scheduler in watch mode:

php artisan schedule:work

The scheduler runs alerts:process daily at midnight to scan subscriptions and dispatch renewal alert jobs.


🔔 Notification Commands

# Manually trigger the renewal alerts scanner at any time
php artisan alerts:process

# View pending jobs sitting in the queue
php artisan queue:monitor default

# Retry failed jobs
php artisan queue:retry all

# Inspect failed jobs
php artisan queue:failed

🧪 Testing Commands (Payments)

# Generate a Pesapal checkout URL specifically to test MTN Mobile Money and even other payments like Airtel Money, Card payments and even pespal wallet!! 
php artisan cullo:test-mtn

🔑 API Authentication

All protected endpoints require a Bearer token obtained from:

POST /api/auth/login

Pass the token in the Authorization header:

Authorization: Bearer {token}

🛡 Security & Vulnerabilities

Cullo App follows strict security standards. If you discover a vulnerability, please follow enterprise disclosure protocols or contact the lead developer.


📄 License

This project is open-sourced software licensed under the MIT license.

About

Backend Service for CULLO(subscription management) app. Cullo App is a high-performance, enterprise-grade subscription tracking and management platform designed to help users stop wasting money on forgotten services. It moves beyond simple "reminder notifications" by offering deep financial insights and a cascading alert system

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages