{"id":24152637,"url":"https://github.com/red2n/home","last_synced_at":"2026-03-06T06:04:21.953Z","repository":{"id":153681760,"uuid":"627736596","full_name":"red2n/home","owner":"red2n","description":"This project is to study and show up the skills that i Learn/Possess and how i have implemented those in this project. this also shows my learning ability and adaptability with new technologies.","archived":false,"fork":false,"pushed_at":"2025-07-18T11:27:43.000Z","size":1094,"stargazers_count":0,"open_issues_count":25,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-18T14:35:11.957Z","etag":null,"topics":["angular4","docker","docker-compose","java","microservices","postgresql","spring-boot","spring-cloud"],"latest_commit_sha":null,"homepage":"https://www.navinkumar.net/","language":"PLpgSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/red2n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-14T05:04:10.000Z","updated_at":"2025-07-18T10:42:00.000Z","dependencies_parsed_at":"2024-11-06T00:46:09.262Z","dependency_job_id":"80e8bb96-1757-4c26-8ed5-90f03c4d8642","html_url":"https://github.com/red2n/home","commit_stats":null,"previous_names":["codepart-dev/home","anthroponymy/home","red2n/home"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/red2n/home","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red2n%2Fhome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red2n%2Fhome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red2n%2Fhome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red2n%2Fhome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/red2n","download_url":"https://codeload.github.com/red2n/home/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red2n%2Fhome/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30164532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T04:43:31.446Z","status":"ssl_error","status_checked_at":"2026-03-06T04:40:30.133Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular4","docker","docker-compose","java","microservices","postgresql","spring-boot","spring-cloud"],"created_at":"2025-01-12T10:25:24.712Z","updated_at":"2026-03-06T06:04:21.928Z","avatar_url":"https://github.com/red2n.png","language":"PLpgSQL","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Property Management System (PMS)\n\n## 1. System Architecture Overview\n1. System Architecture Overview\nBased on the UML model we've developed, I propose a modern, cloud-native, microservices-based architecture for the PMS. This approach will allow for better scalability, maintainability, and the ability to deploy updates to individual components without affecting the entire system.\n\n### 1.1 High-Level Architecture\n```\n┌─────────────────────────────────────────────────────────────┐\n│                       Client Applications                    │\n│  ┌───────────┐  ┌───────────┐  ┌───────────┐  ┌───────────┐  │\n│  │   Web     │  │  Mobile   │  │Self-Service│  │  Partner  │  │\n│  │   App     │  │   App     │  │   Kiosk   │  │   APIs    │  │\n│  └───────────┘  └───────────┘  └───────────┘  └───────────┘  │\n└───────────────────────────┬─────────────────────────────────┘\n                            │\n┌───────────────────────────▼─────────────────────────────────┐\n│                         API Gateway                          │\n│  ┌───────────────────────────────────────────────────────┐  │\n│  │   Authentication   │   Rate Limiting   │   Routing    │  │\n│  └───────────────────────────────────────────────────────┘  │\n└───────────────────────────┬─────────────────────────────────┘\n                            │\n┌───────────────────────────▼─────────────────────────────────┐\n│                    Service Mesh / Message Bus                │\n└───────────┬────────────┬────────────┬────────────┬──────────┘\n            │            │            │            │\n┌───────────▼───┐ ┌──────▼───────┐ ┌──▼───────────┐ ┌─────▼────────┐\n│  Core Services │ │Guest Services│ │Booking Engine│ │Financial Svcs│\n└───────────────┘ └──────────────┘ └──────────────┘ └──────────────┘\n            │            │            │            │\n┌───────────▼───┐ ┌──────▼───────┐ ┌──▼───────────┐ ┌─────▼────────┐\n│ Inventory Mgmt │ │Rate \u0026 Offers │ │Communications│ │ Reporting    │\n└───────────────┘ └──────────────┘ └──────────────┘ └──────────────┘\n            │            │            │            │\n┌───────────▼───┐ ┌──────▼───────┐ ┌──▼───────────┐ ┌─────▼────────┐\n│  Integration   │ │ Audit System │ │  Tax Engine  │ │Housekeeping  │\n└───────────────┘ └──────────────┘ └──────────────┘ └──────────────┘\n            │            │            │            │\n┌───────────▼────────────▼────────────▼────────────▼──────────────┐\n│                        Data Services Layer                       │\n│  ┌────────────┐  ┌────────────┐  ┌────────────┐  ┌────────────┐  │\n│  │ Relational │  │ Document   │  │ Cache      │  │ Search     │  │\n│  │ Database   │  │ Store      │  │ Service    │  │ Engine     │  │\n│  └────────────┘  └────────────┘  └────────────┘  └────────────┘  │\n└─────────────────────────────────────────────────────────────────┘\n```\n\n## 2. Technology Stack Recommendations\n\n### 2.1 Backend Services\n- Programming Language: Java/Spring Boot for core services, Node.js for lightweight services\nAPI Design: REST for synchronous operations, gRPC for service-to-service communication\n- Message Broker: Apache Kafka for event streaming\n- Service Mesh: Istio for service discovery, load balancing, and circuit breaking\n### 2.2 Data Persistence\n- Primary Database: PostgreSQL for relational data (transactions, bookings, financial records)\n- Document Store: MongoDB for flexible schemas (guest preferences, reporting data)\n- Cache: Redis for session management and frequently accessed data\n- Search: Elasticsearch for advanced search capabilities across inventory and guest data\n### 2.3 Frontend\n- Web Application: React.js with TypeScript for staff portal\n- Mobile Applications: React Native for cross-platform mobile support\n- Design System: Custom component library with consistent styling\n### 2.4 DevOps \u0026 Infrastructure\n- Containerization: Docker\n- Orchestration: Kubernetes\n- CI/CD: Jenkins or GitHub Actions\n- Monitoring: Prometheus, Grafana, and ELK stack\n- Cloud Provider: AWS or Azure\n\n## 3. Microservices Breakdown\nBased on the UML model, the system will be organized into the following microservices:\n\n### 3.1 Core Services\n#### 3.1.1 Identity \u0026 Access Management Service\n- User authentication and authorization\n- Role-based access control\n- Department management\n- Session management\n- Integration with SSO providers\n#### 3.1.2 Property Configuration Service\n- Property management\n- Property type configuration\n- Global settings management\n### 3.2 Inventory Management\n#### 3.2.1 Room Inventory Service\n- Room type management\n- Room status tracking\n- Amenity management\n- Room availability calendar\n#### 3.2.2 Housekeeping Service\n- Task assignment and scheduling\n- Room status updates\n- Maintenance request handling\n- Mobile app integration for housekeeping staff\n### 3.3 Guest Services\n#### 3.3.1 Guest Profile Service\n- Guest data management\n- Preferences tracking\n- Profile merging and deduplication\n- GDPR compliance tools\n#### 3.3.2 Loyalty Service\n- Points management\n- Tier calculations\n- Redemption processing\n- Partner program integration\n### 3.4 Rate Management\n#### 3.4.1 Rate Plan Service\n- Rate plan configuration\n- Seasonal rate management\n- BAR (Best Available Rate) calculations\n- Rate restrictions management\n#### 3.4.2 Package Service\n- Package creation and management\n- Add-on bundling\n- Package availability rules\n#### 3.4.3 Cancellation Policy Service\n- Policy configuration\n- Rule management\n- Fee calculation\n- Cancellation enforcement\n### 3.5 Offer Management\n#### 3.5.1 Offer Definition Service\n- Offer type management\n- Department authorization mapping\n- Offer creation and configuration\n- Approval workflow management\n#### 3.5.2 Offer Application Service\n- Offer eligibility checking\n- Discount calculation\n- Usage tracking\n- Offer selection optimization\n### 3.6 Booking Engine\n#### 3.6.1 Reservation Service\n- Booking creation and management\n- Modification handling\n- Cancellation processing\n- Room assignment\n- Channel management\n- Check-in/check-out processing\n#### 3.6.2 Availability Calculation Service\n- Real-time inventory checking\n- Rate availability\n- Restriction enforcement\n- Overbooking management\n### 3.7 Financial Services\n#### 3.7.1 Folio Management Service\n- Guest bill management\n- Charge posting\n- Split folio handling\n- Bill presentation\n#### 3.7.2 Payment Processing Service\n- Payment method handling\n- Transaction processing\n- Refund management\n- Payment gateway integration\n- Tokenization for PCI compliance\n#### 3.7.3 Ledger Service\n- Account management\n- Transaction posting\n- Balance calculations\n- Reconciliation tools\n- Fiscal period management\n#### 3.7.4 Night Audit Service\n- Daily closing procedures\n- Automatic charge posting\n- Error checking\n- Report generation\n### 3.8 Taxation\n#### 3.8.1 Tax Configuration Service\n- Tax rule management\n- Tax group configuration\n- Jurisdiction management\n#### 3.8.2 Tax Calculation Service\n- Real-time tax calculations\n- Tax exemption handling\n- Tax reporting\n### 3.9 Communications \u0026 Reporting\n#### 3.9.1 Notification Service\n- Template management\n- Multi-channel delivery (email, SMS)\n- Scheduling and triggers\n- Delivery tracking\n#### 3.9.2 Reporting Service\n- Standard report generation\n- Custom report builder\n- Data visualization\n- Export capabilities\n- Scheduled report delivery\n### 3.10 Audit \u0026 Logging\n#### 3.10.1 Audit Trail Service\n- Change tracking across all entities\n- User action logging\n- Compliance reporting\n- Data immutability\n## 4. Data Flow Diagrams\n### 4.1 Booking Creation Flow\n```\n┌──────────┐     ┌─────────────┐     ┌───────────────┐     ┌──────────────┐\n│  Client  │────▶│ Reservation │────▶│ Availability  │────▶│ Rate         │\n│  App     │     │ Service     │     │ Service       │     │ Service      │\n└──────────┘     └─────────────┘     └───────────────┘     └──────────────┘\n                        │                                          │\n                        ▼                                          ▼\n                 ┌─────────────┐                          ┌──────────────┐\n                 │ Guest       │                          │ Offer        │\n                 │ Service     │                          │ Service      │\n                 └─────────────┘                          └──────────────┘\n                        │                                          │\n                        ▼                                          ▼\n                 ┌─────────────┐     ┌───────────────┐     ┌──────────────┐\n                 │ Folio       │────▶│ Tax           │────▶│ Payment      │\n                 │ Service     │     │ Service       │     │ Service      │\n                 └─────────────┘     └───────────────┘     └──────────────┘\n                        │                                          │\n                        ▼                                          ▼\n                 ┌─────────────┐                          ┌──────────────┐\n                 │ Ledger      │                          │ Notification │\n                 │ Service     │                          │ Service      │\n                 └─────────────┘                          └──────────────┘\n                        │                                          │\n                        ▼                                          ▼\n                 ┌─────────────┐                          ┌──────────────┐\n                 │ Audit       │                          │ Inventory    │\n                 │ Service     │                          │ Service      │\n                 └─────────────┘                          └──────────────┘\n```\n### 4.2 Offer Approval Flow\n```\n┌──────────┐     ┌─────────────┐     ┌───────────────┐     \n│  Staff   │────▶│ Offer       │────▶│ Department    │     \n│  Portal  │     │ Service     │     │ Service       │     \n└──────────┘     └─────────────┘     └───────────────┘     \n                        │                    │\n                        ▼                    ▼\n                 ┌─────────────┐     ┌───────────────┐\n                 │ Notification│────▶│ Manager       │\n                 │ Service     │     │ Portal        │\n                 └─────────────┘     └───────────────┘\n                                            │\n                                            ▼\n                                     ┌───────────────┐\n                                     │ Offer         │\n                                     │ Service       │\n                                     └───────────────┘\n                                            │\n                                            ▼\n                                     ┌───────────────┐\n                                     │ Audit         │\n                                     │ Service       │\n                                     └───────────────┘\n```\n## 5. Database Schema Design\nThe database design will follow a hybrid approach:\n### 5.1 Core Transactional Database (PostgreSQL)\n- Schema for each major domain (booking, guest, financial, inventory)\n- Strong referential integrity for critical financial data\n- Partitioning by property and date for performance\n### 5.2 Document Store (MongoDB)\n- Guest preferences and history\n- Flexible attributes for rooms and properties\n- Report data and templates\n### 5.3 Search Index (Elasticsearch)\n- Room and rate search\n- Guest search\n- Full-text search across documents\n### 5.4 Cache Layer (Redis)\n- Session data\n- Frequently accessed configuration\n- Rate availability cache\n- Inventory status\n\n## 6. Integration Architecture\n### 6.1 External System Integration\n```\n┌─────────────────────────────────────────────────────────────┐\n│                         PMS Core                            │\n└─────────────────────────────┬───────────────────────────────┘\n                              │\n┌─────────────────────────────▼───────────────────────────────┐\n│                     Integration Layer                        │\n│  ┌────────────┐  ┌────────────┐  ┌────────────┐             │\n│  │ API        │  │ Event      │  │ File       │             │\n│  │ Gateway    │  │ Bus        │  │ Exchange   │             │\n│  └────────────┘  └────────────┘  └────────────┘             │\n└───────┬─────────────────┬──────────────────┬────────────────┘\n        │                 │                  │\n┌───────▼─────┐   ┌───────▼─────┐    ┌───────▼─────┐\n│ Channel     │   │ Payment     │    │ Accounting  │\n│ Managers    │   │ Gateways    │    │ System      │\n└─────────────┘   └─────────────┘    └─────────────┘\n        │                 │                  │\n┌───────▼─────┐   ┌───────▼─────┐    ┌───────▼─────┐\n│ OTA          │   │ CRM         │    │ Revenue     │\n│ Platforms    │   │ Systems     │    │ Management  │\n└─────────────┘   └─────────────┘    └─────────────┘\n```\n\n### 6.2 Integration Methods\n- **RESTful APIs:** For synchronous, request-response interactions\n- **Webhooks:** For external systems to notify PMS of events\n- **Message Queue:** For asynchronous, event-driven communication\n- **Batch Processing:** For high-volume data exchange during off-peak hours\n\n## 7. Security Architecture\n### 7.1 Authentication \u0026 Authorization\n- OAuth 2.0 / OpenID Connect for authentication\n- JWT tokens for session management\n- Role-Based Access Control (RBAC)\n- Attribute-Based Access Control (ABAC) for fine-grained permissions\n- Department-based access restrictions\n### 7.2 Data Protection\n- Data encryption at rest\n- TLS for all communications\n- PCI DSS compliance for payment handling\n- Tokenization for sensitive data\n- Key rotation policies\n### 7.3 Audit \u0026 Compliance\n- Comprehensive audit logging\n- Immutable audit records\n- GDPR compliance tools\n- Data retention policies\n## 8. Scalability \u0026 High Availability\n### 8.1 Horizontal Scaling\n- Stateless services for easy scaling\n- Database read replicas for query scaling\n- Sharding strategy for multi-property deployments\n### 8.2 High Availability\n- Multi-AZ deployment\n- Database clustering\n- Service redundancy\n- Automated failover\n### 8.3 Disaster Recovery\n- Regular backups\n- Point-in-time recovery\n- Cross-region replication\n- Recovery time objective (RTO) and recovery point objective (RPO) definitions\n### 9. Deployment Architecture\n### 9.1 Containerization Strategy\n- Docker containers for all services\n- Kubernetes for orchestration\n- Helm charts for deployment management\n### 9.2 Environment Strategy\n- Development, Testing, Staging, and Production environments\n- Automated promotion between environments\n- Feature flags for controlled rollout\n### 9.3 Multi-Tenancy\n- Property-level isolation\n- Shared infrastructure with logical separation\n- Tenant-specific configuration\n## 10. Implementation Roadmap\n### 10.1 Phase 1: Core Foundation\n- Identity \u0026 Access Management\n- Property Configuration\n- Room Inventory\n- Basic Guest Management\n- Simple Booking Engine\n### 10.2 Phase 2: Financial Operations\n- Folio Management\n- Payment Processing\n- Ledger System\n- Basic Reporting\n### 10.3 Phase 3: Advanced Features\n- Rate Management\n- Offer System with Approvals\n- Department-based Permissions\n- Enhanced Guest CRM\n### 10.4 Phase 4: Integration \u0026 Expansion\n- Channel Management\n- Payment Gateway Integration\n- Accounting System Integration\n- Mobile Applications\n## 11. Monitoring \u0026 Operations\n### 11.1 System Monitoring\n- Service health metrics\n- Performance monitoring\n- Error tracking and alerting\n- SLA monitoring\n### 11.2 Business Monitoring\n- Booking pace tracking\n- Revenue monitoring\n- Occupancy metrics\n- User activity analytics\n### 11.3 DevOps Practices\n- Automated testing\n- Continuous integration\n- Continuous deployment\n- Infrastructure as code\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fred2n%2Fhome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fred2n%2Fhome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fred2n%2Fhome/lists"}