Skip to content

F4tal1t/Squill

Repository files navigation

Squill - Serverless Billing Automation Platform

AWS React Python Serverless Status

Modern serverless billing automation platform with React frontend and Python backend on AWS.

Features

  • Analytics Dashboard - Real-time revenue & usage tracking
  • Customer Management - Profile & billing cycle management
  • Invoice System - Automated PDF generation & email delivery
  • Usage Tracking - API calls, storage, bandwidth monitoring
  • Automation - Scheduled billing & threshold alerts

Tech Stack

  • Frontend: React 18, responsive UI
  • Backend: Python 3.12, AWS Lambda
  • Database: DynamoDB
  • Storage: S3 (hosting + files)
  • API: API Gateway with CORS
  • Monitoring: CloudWatch

Quick Start

Prerequisites

  • Node.js 18+, Python 3.12+
  • AWS CLI configured
  • Serverless Framework

Installation

# Clone and install
git clone <repo-url>
cd Squill
pip install -r requirements.txt
cd frontend && npm install

Local Development

# Start backend
serverless offline --stage dev

# Start frontend (new terminal)
cd frontend && npm start

Deploy to AWS

# Deploy backend
npm run deploy:prod

# Deploy frontend
npm run deploy:frontend

# Complete deployment
npm run complete:day7

📚 API Endpoints

POST /usage          # Track usage events
GET  /analytics      # Get dashboard data
GET  /customers      # List customers
POST /customers      # Create customer
POST /invoice        # Generate invoice

Project Structure

Squill/
├── frontend/           # React app
├── scripts/           # Deployment scripts
├── handler.py         # Lambda functions
├── serverless.yml     # AWS infrastructure
├── requirements.txt   # Python deps
└── package.json       # Node deps

Available Scripts

npm run deploy:prod        # Deploy backend
npm run deploy:frontend    # Deploy frontend  
npm run complete:day7      # Full deployment
npm run fix:s3            # Fix S3 access
npm run verify:deployment # Test deployment
npm run logs              # View logs

Environment Setup

# .env file
AWS_REGION=us-east-1
STAGE=prod
CUSTOMERS_TABLE=Customers-prod
USAGE_EVENTS_TABLE=UsageEvents-prod

Troubleshooting

Lambda Size Error: Use npm run complete:day7
S3 Access Issues: Run npm run fix:s3
API Errors: Check npm run logs

Production Status

  • Frontend: Live on S3 static hosting
  • Backend: Serverless API deployed
  • Database: DynamoDB tables created
  • Monitoring: CloudWatch configured
  • Public Access: Website accessible

Built in 7 days | Production Ready | Serverless Architecture

About

Squill is a serverless SaaS usage-based billing automation system built on AWS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published