Skip to content

Lambert-Nguyen/aristay_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

658 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏨 Aristay - Property Management System

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.

🎯 Project Overview

Core Features

  • πŸ” 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

Technology Stack

  • 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

πŸš€ Quick Start

Prerequisites

  • Python 3.8+ with virtual environment
  • Node.js and Flutter SDK
  • PostgreSQL database
  • Git

Installation

# 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

Flutter Mobile App Setup

# Navigate to Flutter directory
cd aristay_flutter_frontend

# Install dependencies
flutter pub get

# Run the app
flutter run

πŸ“š Documentation

All project documentation is comprehensively organized in the docs/ directory:

πŸ“‹ Essential Documentation

πŸ”— Quick Links

πŸ§ͺ Testing

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

Test Categories

  • 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

πŸ”§ Development Scripts

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 seeding

πŸ” Security Features

Aristay 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.

πŸ—οΈ Project Structure

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.

πŸ“Š Project Status

βœ… 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

Recent Updates (November 2025)

  • ✨ 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.

🀝 Development Workflow

For New Features

  1. Review Development Setup
  2. Follow Coding Standards
  3. Add comprehensive tests
  4. Update documentation
  5. Run full test suite

For Bug Fixes

  1. Reproduce issue with test case
  2. Implement fix following coding standards
  3. Verify fix with all relevant tests
  4. Update documentation if needed

For Security Changes

  1. Review Security Checklist
  2. Implement changes with security focus
  3. Run security-focused tests
  4. Document security implications

πŸ“ˆ Performance & Scalability

  • Database Optimization: Efficient queries with proper indexing
  • API Performance: Optimized endpoints with caching
  • Mobile Performance: Efficient Flutter implementation
  • Scalable Architecture: Modular design for growth

πŸ†˜ Support & Troubleshooting

Common Issues

Getting Help

  1. Check the Documentation Index
  2. Review relevant troubleshooting guides
  3. Check test output for specific error messages
  4. Consult security documentation for security-related issues

πŸ“ License

Copyright (c) 2025 Nguyen, Phuong Duy Lam. All rights reserved.

πŸ† Acknowledgments

  • 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

About

AriStay Inpired Management Cross-Platform Application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors