Skip to content

IsThatLegal/summit-os

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SummitOS

A comprehensive property management system for automated gate access control, tenant management, and payment processing.

πŸš€ PRODUCTION READY βœ…

βœ… SummitOS is production-ready with enterprise-grade security:

  • βœ… Secure authentication with JWT and role-based access control
  • βœ… Comprehensive API security with input validation and rate limiting
  • βœ… Row Level Security (RLS) policies for data protection
  • βœ… Automated billing and tenant self-service portal
  • βœ… SiteLink Web Edition integration for seamless data synchronization
  • βœ… Dark mode support for enhanced user experience

Current Status: 95% Production-Ready 🎯

πŸš€ Features

  • Tenant Management: Complete CRUD operations for tenant data
  • Gate Access Control: Automated access decisions based on tenant status
  • Payment Processing: Stripe integration for automated payments
  • AI Agents: LangGraph-powered collections and management agents
  • Hardware Integration: IoT gate control and license plate recognition
  • Real-time Dashboard: Live status monitoring and management
  • SiteLink Integration: Two-way synchronization with SiteLink Web Edition
  • Tenant Portal: Self-service payment and account management
  • Automated Billing: Monthly recurring charges and billing logs
  • Dark Mode: Enhanced user experience with theme switching

πŸ› οΈ Tech Stack

  • Frontend: Next.js 16, TypeScript, Tailwind CSS, shadcn/ui
  • Backend: Next.js API Routes, Supabase
  • Database: PostgreSQL (via Supabase)
  • Payments: Stripe API
  • AI: LangGraph agents
  • Testing: Playwright (E2E), Jest (Integration)
  • Hardware: Python scripts for IoT integration
  • Integration: SiteLink Web Edition API
  • Authentication: JWT with Supabase Auth
  • Deployment: CI/CD with GitHub Actions

πŸ“‹ Prerequisites

  • Node.js 18+
  • npm or yarn
  • Supabase account
  • Stripe account (for payments)

πŸš€ Quick Start

  1. Clone and install dependencies:
git clone <repository-url>
cd summit-os
npm install
  1. Set up environment variables:
cp .env.example .env.local
# Edit .env.local with your Supabase and Stripe credentials
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

πŸ§ͺ Testing

βœ… 100% Passing - 43/43 Tests

Integration Tests

npm test

Test Coverage:

  • βœ… Authentication & Security (5 tests)
  • βœ… Gate Access Control (2 tests)
  • βœ… Units Management (11 tests)
  • βœ… Tenant Management (10 tests)
  • βœ… Payment Processing (10 tests)
  • βœ… SiteLink Integration (5 tests)

See TESTING_GUIDE.md for detailed testing documentation.

E2E Tests

npx playwright test

Linting

npm run lint

πŸ“ Project Structure

β”œβ”€β”€ app/                    # Next.js app router
β”‚   β”œβ”€β”€ api/               # API routes
β”‚   β”œβ”€β”€ dashboard/         # Main dashboard
β”‚   └── gate-simulator/    # Gate testing interface
β”œβ”€β”€ components/            # React components
β”œβ”€β”€ lib/                   # Shared utilities
β”œβ”€β”€ scripts/               # Hardware integration scripts
β”œβ”€β”€ supabase/             # Database migrations and seeds
β”œβ”€β”€ e2e/                  # Playwright tests
└── tests/                # Jest integration tests

πŸ”§ Configuration

Environment Variables

Required variables in .env.local:

  • NEXT_PUBLIC_SUPABASE_URL: Supabase project URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY: Supabase anonymous key
  • SUPABASE_SERVICE_ROLE_KEY: Supabase service key
  • STRIPE_SECRET_KEY: Stripe secret key
  • NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: Stripe publishable key

Database Setup

  1. Create Supabase project
  2. Run migrations in supabase/migrations/
  3. Seed data with supabase/seed.sql

πŸšͺ Gate Access Flow

  1. Tenant Creation: Add tenants with balance and gate codes
  2. Auto-Lockout: Tenants with positive balances are automatically locked out
  3. Gate Access: Gate API checks tenant status before granting access
  4. Payment Processing: Stripe payments update tenant balances
  5. Auto-Unlock: Successful payments unlock tenant access

πŸ€– AI Agents

The Enforcer (Collections)

  • Monitors tenant balances
  • Drafts collection communications
  • Human-in-the-loop approval system

Future Agents

  • The Closer: Sales and lead conversion
  • The Steward: Maintenance coordination

πŸ”Œ Hardware Integration

Gate Controller

  • Python script for IoT relay control
  • Offline failover capability
  • Real-time polling for access commands

License Plate Recognition

  • Computer vision integration
  • Automatic tenant identification
  • API integration with gate system

πŸ“Š Current Status

βœ… Completed (95%)

  • Core tenant management
  • Gate access control logic
  • Payment processing with Stripe
  • E2E test coverage
  • AI agent framework
  • Hardware integration scripts
  • Authentication & User Management βœ…
  • Tenant Portal βœ…
  • Automated Billing System βœ…
  • Production Infrastructure βœ…
  • Dark Mode Implementation βœ…
  • SiteLink Web Edition Integration βœ…

🚧 In Progress (5%)

  • AI Agent enhancement (real SMS integration)
  • Advanced monitoring and analytics

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: npm test && npx playwright test
  5. Submit a pull request

πŸ“„ License

[Add your license here]

πŸ†˜ Support

For issues and questions:

About

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors