Aristay is a comprehensive property management platform designed for modern hospitality operations. It features a robust Django REST API backend with JWT authentication, automated task management, and a Flutter mobile application for on-the-go property management.
- π JWT Authentication - Secure, token-based authentication system
- π Booking Management - Comprehensive reservation and guest management
- π€ Task Automation - Automated cleaning and maintenance task creation
- π₯ Role-Based Access Control - Granular permission system
- π¬ Real-Time Chat - WebSocket-based messaging system with Django Channels
- π± Mobile Application - Flutter-based mobile interface
- π Admin Dashboard - Staff management and reporting interface
- πΈ Photo Management - Before/after photo tracking and approval workflow
- π Calendar System - Property and task scheduling interface
- Backend: Django REST Framework with PostgreSQL
- Real-Time: Django Channels with Redis for WebSocket support
- Frontend: Flutter mobile application
- Web UI: Django templates with modern JavaScript
- Authentication: JWT with djangorestframework-simplejwt
- Testing: Comprehensive test suite with pytest
- Deployment: Production-ready with security hardening
- Python 3.8+ with virtual environment
- Node.js and Flutter SDK
- PostgreSQL database
- Git
# Clone the repository
git clone <repository-url>
cd aristay_app
# Set up backend environment
cd aristay_backend
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# Run database migrations
python manage.py migrate
# Create superuser
python manage.py createsuperuser
# Start development server
python manage.py runserver# Navigate to Flutter directory
cd aristay_flutter_frontend
# Install dependencies
flutter pub get
# Run the app
flutter runAll project documentation is comprehensively organized in the docs/ directory:
- CLEANUP_PLAN.md - Project organization and cleanup strategy
- PROJECT_CLEANUP_SUMMARY.md - Recent reorganization summary
- docs/CURRENT_DOCUMENTATION.md - β Quick reference to active docs
- docs/DOCUMENTATION_INDEX.md - Complete documentation catalog
- Setup: Deployment Guide | Environment Config
- Features: Chat System | Calendar | Photo Management
- Security: JWT Authentication | Security Guide
- Testing: Testing Strategy | Test Organization
- Development: Local Setup | Project Structure
The project includes a comprehensive test suite organized by scope and purpose:
# Run all tests using the central test runner
python tests/run_tests.py
# Quick system validation
./scripts/testing/quick_test.sh
# JWT authentication testing
./scripts/testing/jwt_smoke_test_improved.sh
# Specific test categories
python tests/run_tests.py --production
python tests/run_tests.py --integration
python tests/run_tests.py --security- Unit Tests: Component-specific validation
- Integration Tests: Multi-component workflows
- Security Tests: Authentication and authorization
- Production Tests: Production readiness validation
- API Tests: Endpoint functionality testing
All development and administrative scripts are organized in scripts/:
# Testing scripts
scripts/testing/quick_test.sh # Comprehensive test runner
scripts/testing/jwt_smoke_test.sh # JWT validation
# Administrative scripts
scripts/admin/audit_user_access.py # User access audit
scripts/admin/seed_new_permissions.py # Permission seedingAristay implements enterprise-grade security:
- JWT Authentication with refresh tokens and secure headers
- Rate Limiting with redis-based throttling
- Role-Based Permissions with granular access control
- API Security with CORS, CSRF protection, and input validation
- Production Hardening with security headers and monitoring
For detailed security information, see the Security Documentation.
aristay_app/
βββ README.md # This file
βββ CLEANUP_PLAN.md # Project organization strategy
βββ PROJECT_CLEANUP_SUMMARY.md # Reorganization summary
βββ conftest.py # Global pytest configuration
βββ pytest.ini # Test configuration
βββ requirements.txt # Python dependencies
βββ aristay_backend/ # Django REST API
β βββ api/ # API application
β β βββ models_chat.py # Chat models
β β βββ views_chat.py # Chat views
β β βββ consumers.py # WebSocket consumers
β β βββ templates/chat/ # Chat UI templates
β βββ backend/ # Django settings
β βββ manage.py # Django management
βββ aristay_flutter_frontend/ # Flutter mobile app
βββ tests/ # Comprehensive test suite
β βββ api/ # API tests
β βββ chat/ # Chat system tests
β βββ ui/ # UI tests
β βββ backend/ # Backend tests
β βββ archive/ # Archived legacy tests
β βββ utils/ # Test utilities
βββ docs/ # Complete documentation
β βββ CURRENT_DOCUMENTATION.md # β Quick reference
β βββ features/chat/ # Chat documentation
β βββ archive/ # Historical docs
β βββ reports/archive/ # Old reports
βββ scripts/ # Development & admin scripts
βββ tools/ # Development utilities
βββ diagnostics/ # Debug tools
βββ secret-hygiene/ # Security scanning
See CLEANUP_PLAN.md for the complete reorganization details.
β Production Ready - All core features implemented and tested β Security Hardened - Comprehensive security implementation β Well Documented - Complete documentation and guides β Fully Tested - Comprehensive test coverage β Organized Structure - Professional project organization (Nov 2025) β Chat System - Real-time messaging with WebSocket support β Clean Codebase - 60+ files reorganized for maintainability
- β¨ Fixed chat UI authentication and error handling
- ποΈ Major project reorganization (60 files)
- π Improved documentation structure
- π§ͺ Centralized all tests
- π§ Fixed .gitignore configuration
For detailed status information, see PROJECT_CLEANUP_SUMMARY.md.
- Review Development Setup
- Follow Coding Standards
- Add comprehensive tests
- Update documentation
- Run full test suite
- Reproduce issue with test case
- Implement fix following coding standards
- Verify fix with all relevant tests
- Update documentation if needed
- Review Security Checklist
- Implement changes with security focus
- Run security-focused tests
- Document security implications
- Database Optimization: Efficient queries with proper indexing
- API Performance: Optimized endpoints with caching
- Mobile Performance: Efficient Flutter implementation
- Scalable Architecture: Modular design for growth
- Environment Setup: See Installation Guide
- Test Failures: See Testing Manual
- Deployment Issues: See Deployment Guide
- Check the Documentation Index
- Review relevant troubleshooting guides
- Check test output for specific error messages
- Consult security documentation for security-related issues
Copyright (c) 2025 Nguyen, Phuong Duy Lam. All rights reserved.
- Django REST Framework for robust API development
- Flutter for cross-platform mobile development
- JWT Authentication for secure token-based auth
- pytest for comprehensive testing framework
Aristay Property Management System - Professional, Secure, Scalable Last Updated: November 23, 2025 - Chat fixes and project reorganization