{"id":50709177,"url":"https://github.com/ambitiousflowdev/ris","last_synced_at":"2026-06-09T14:01:25.907Z","repository":{"id":333579774,"uuid":"1135781402","full_name":"AmbitiousFlowDev/RIS","owner":"AmbitiousFlowDev","description":"Information system for a large retail and distribution company managing products, stock, clients, orders, and employees. The system models customers placing orders for products, stock management, and order tracking by sales representatives, with role-based access for Commercial, HR, Purchasing, and Management to ensure secure and structured access.","archived":false,"fork":false,"pushed_at":"2026-05-16T18:39:05.000Z","size":1512,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-16T20:39:12.755Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/AmbitiousFlowDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-16T15:28:22.000Z","updated_at":"2026-05-16T18:39:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/AmbitiousFlowDev/RIS","commit_stats":null,"previous_names":["ambitiousflowdev/retail-information-system","ambitiousflowdev/ris"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/AmbitiousFlowDev/RIS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbitiousFlowDev%2FRIS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbitiousFlowDev%2FRIS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbitiousFlowDev%2FRIS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbitiousFlowDev%2FRIS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmbitiousFlowDev","download_url":"https://codeload.github.com/AmbitiousFlowDev/RIS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmbitiousFlowDev%2FRIS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34110012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-06-09T14:01:25.080Z","updated_at":"2026-06-09T14:01:25.896Z","avatar_url":"https://github.com/AmbitiousFlowDev.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Retail Information System (RSI)\n\nA web-based retail management application built with a custom PHP MVC architecture. This system manages employees, clients, products, orders, and provides audit logging and role-based access control.\n\n## 📋 Features\n\n* **User Authentication \u0026 Authorization**: Secure login system with role-based permissions (HR, Commercial, Direction, Purchasing).\n* **Dashboard**: Overview of system metrics and activities.\n* **Resource Management**: Full CRUD (Create, Read, Update, Delete) capabilities for:\n* **Employees**: Manage staff details and roles.\n* **Clients**: Manage customer information.\n* **Products**: Inventory management (Electronics, Office supplies, etc.).\n* **Users**: System user account management.\n\n\n* **Order Processing**: Create and manage sales orders with multiple line items.\n* **Audit Logging**: Automatic tracking of system actions (e.g., logins, order creation) using the Observer pattern.\n* **PDF Generation**: Built-in utility for generating reports/documents using FPDF.\n\n## 🛠 Technical Architecture\n\nThe project implements a **Model-View-Controller (MVC)** design pattern without relying on external frameworks (Vanilla PHP).\n\n* **Language**: PHP 8+\n* **Database**: MySQL 8.0\n* **Frontend**: HTML5, CSS3, Bootstrap (Public assets included).\n* **Design Patterns Used**: Singleton and Observer\n* **MVC**: Separation of logic (`controllers/`), data (`models/`), and presentation (`views/`).\n* **Service Locator / IOC**: Custom autoloader implementation in `index.php`.\n* **Observer Pattern**: Used for the Audit system (`AuditLogger` observes `Controller` actions).\n\n\n\n## 📂 Project Structure\n\n```text\nRetail Information System/\n├── controllers/       # Application logic (Audit, Auth, Client, Order, etc.)\n├── database/          # SQL scripts (Schema and Seed data)\n├── diagrams/          # PlantUML ERD diagrams\n├── models/            # Database interactions (Active Record pattern)\n├── public/            # Static assets (CSS, JS, Fonts)\n├── traits/            # Shared behaviors (e.g., AuthTrait)\n├── utils/             # Utilities (DB Connection, PDF, Logger, Observers)\n├── views/             # UI Templates (organized by entity)\n├── wireframes/        # UI Design mockups\n├── docker-compose.yml # Docker infrastructure configuration\n├── index.php          # Application Entry Point (Router)\n└── LICENSE.md         # GNU General Public License v3\n\n```\n\n## 🚀 Installation \u0026 Setup\n\nThis project uses **Docker** for easy deployment.\n\n### Prerequisites\n\n* Docker\n* Docker Compose\n\n### Steps to Run\n\n1. **Clone/Download** the repository.\n2. Navigate to the project root.\n3. Start the containers:\n```bash\ndocker-compose up -d\n\n```\n\n\nThis will start two services:\n* **database** (MySQL 8.0) on port `3306`.\n* **phpmyadmin** (Database GUI) on port `5050`.\n\n\n4. **Import Database**:\n* Open your browser and go to `http://localhost:5050`.\n* Login with Server: `database`, User: `root`, Password: `753159`.\n* Select the database `RSI`.\n* Import the file located at `database/RSI.sql` to create tables and seed default data.\n\n\n5. **Configure Application**:\nEnsure your `utils/Connection.php` (or equivalent DB config file) matches the Docker environment credentials:\n* Host: `database`\n* User: `rsi_user`\n* Password: `rsi_password`\n* Database: `RSI`\n\n\n\n## 🔐 Access \u0026 Credentials\n\n### Default Application Login\n\n(Based on Seed Data in `database/RSI.sql`)\n\n| Role | Username | Password |\n| --- | --- | --- |\n| **Admin** | `admin` | `admin123` |\n| **Sales** | `alice` | `sales123` |\n| **Sales** | `bob` | `sales456` |\n| **Account** | `emma` | `account123` |\n\n### Database Credentials (Docker)\n\n| Service | Username | Password | Port |\n| --- | --- | --- | --- |\n| **MySQL Root** | `root` | `753159` | 3306 |\n| **RSI User** | `rsi_user` | `rsi_password` | - |\n| **PhpMyAdmin** | `root` | `753159` | 5050 |\n\n## 📜 License\n\nThis project is licensed under the **GNU General Public License v3 (GPLv3)**. You are free to copy, distribute, and modify the software as long as you track changes and release it under the same license.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fambitiousflowdev%2Fris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fambitiousflowdev%2Fris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fambitiousflowdev%2Fris/lists"}