mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-04-30 09:19:46 -05:00
3b564f83d7
BREAKING CHANGE: Removed legacy license server in favor of Stripe billing Major changes: - Remove license server system (563 lines removed from license_server.py) - Add multi-tenant support with organizations and memberships - Integrate Stripe billing and subscription management - Enhance authentication with 2FA, password reset, and JWT tokens - Add provisioning and onboarding flows for new customers - Implement row-level security (RLS) for data isolation - Add GDPR compliance features and data retention policies - Enhance admin dashboard with billing reconciliation and customer management - Add security scanning tools (Bandit, Gitleaks, GitHub Actions workflow) - Implement rate limiting and enhanced password policies - Update all routes to support organization context - Enhance user model with billing and security fields - Add promo code system for marketing campaigns - Update Docker initialization for better database setup Modified files: - Core: app.py, app/__init__.py, app/config.py - Models: Enhanced user model (+175 lines), updated all models for multi-tenancy - Routes: Enhanced admin routes (+479 lines), updated all routes for org context - Templates: Updated login, admin dashboard, and settings - Docker: Enhanced database initialization scripts - Dependencies: Added stripe, pyotp, pyjwt, and security packages Deleted files: - app/utils/license_server.py - docs/LICENSE_SERVER_*.md (3 files) - templates/admin/license_status.html - test_license_server.py New features: - Organizations and membership management - Stripe billing integration with webhook handling - Enhanced authentication (2FA, password reset, refresh tokens) - GDPR compliance and data export/deletion - Onboarding checklist for new customers - Promo code system - Security enhancements (rate limiting, password policies) - Admin tools for customer and billing management Net change: 46 files changed, 1490 insertions(+), 1968 deletions(-)
36 lines
737 B
Plaintext
36 lines
737 B
Plaintext
# Local Testing Environment Variables
|
|
# Copy this file to .env.local-test and modify as needed
|
|
|
|
# Timezone (default: Europe/Brussels)
|
|
TZ=Europe/Brussels
|
|
|
|
# Currency (default: EUR)
|
|
CURRENCY=EUR
|
|
|
|
# Timer settings
|
|
ROUNDING_MINUTES=1
|
|
SINGLE_ACTIVE_TIMER=true
|
|
IDLE_TIMEOUT_MINUTES=30
|
|
|
|
# User management
|
|
ALLOW_SELF_REGISTER=true
|
|
ADMIN_USERNAMES=admin,testuser
|
|
|
|
# Security (CHANGE THESE FOR PRODUCTION!)
|
|
SECRET_KEY=local-test-secret-key-change-this
|
|
|
|
# Database (SQLite for local testing)
|
|
DATABASE_URL=sqlite:////data/timetracker.db
|
|
|
|
# Logging
|
|
LOG_FILE=/app/logs/timetracker.log
|
|
|
|
# Cookie settings (disabled for local testing)
|
|
SESSION_COOKIE_SECURE=false
|
|
REMEMBER_COOKIE_SECURE=false
|
|
|
|
# Flask environment
|
|
FLASK_ENV=development
|
|
FLASK_DEBUG=true
|
|
|