{"id":21834410,"url":"https://github.com/hughmorris01/wgu_capstone_project","last_synced_at":"2026-05-04T13:33:27.806Z","repository":{"id":81148539,"uuid":"603610652","full_name":"HughMorris01/WGU_Capstone_Project","owner":"HughMorris01","description":"A multi-role Appointment Management System featuring an MVC architecture, cloud-integrated MySQL persistence via AWS, and role-based access control (RBAC) for administrative and sales users.","archived":false,"fork":false,"pushed_at":"2026-02-12T20:40:58.000Z","size":9894,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-13T02:12:17.293Z","etag":null,"topics":["crud","database-management","java","javafx","mvc-architecture","mysql-database","role-based-access-control","software-engineering"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HughMorris01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-02-19T03:13:25.000Z","updated_at":"2026-02-12T20:41:02.000Z","dependencies_parsed_at":"2024-11-27T20:21:13.670Z","dependency_job_id":null,"html_url":"https://github.com/HughMorris01/WGU_Capstone_Project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HughMorris01/WGU_Capstone_Project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HughMorris01%2FWGU_Capstone_Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HughMorris01%2FWGU_Capstone_Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HughMorris01%2FWGU_Capstone_Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HughMorris01%2FWGU_Capstone_Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HughMorris01","download_url":"https://codeload.github.com/HughMorris01/WGU_Capstone_Project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HughMorris01%2FWGU_Capstone_Project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32609681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: 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":["crud","database-management","java","javafx","mvc-architecture","mysql-database","role-based-access-control","software-engineering"],"created_at":"2024-11-27T20:10:57.689Z","updated_at":"2026-05-04T13:33:27.801Z","avatar_url":"https://github.com/HughMorris01.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Login](src/main/login_screen.png) ![Login](src/main/sales_home_screen.jpg) ![Login](src/main/admin_home_screen.jpg)\n\n# 📅 Appointment Organizer Plus+ | Software Capstone\n\nA comprehensive, multi-role appointment management system built to demonstrate full-stack software engineering principles, rigorous QA validation, and secure database architecture.\n\n**📁 Master Documentation:** [View Project Full Summary](./docs/Project_Full_Summary.pdf)\n\n---\n\n## 🛠 Technical Architecture \u0026 Tech Stack\nThis application utilizes an **MVC (Model-View-Controller)** design pattern to ensure a clean separation of concerns between data, business logic, and the user interface.\n\n* **Core Language:** Java 17 (LTS)\n* **Frontend:** JavaFX (Modular Desktop GUI)\n* **Database:** MySQL 8.0 (AWS RDS integration adapted for local portfolio use)\n* **Build Tool:** Maven (Dependency Management)\n\n\n\n---\n\n## ✅ Quality Assurance \u0026 Validation\nThe core of this project is the **17-point Unit Test Plan**, which verified every use case from administrative user creation to salesperson-specific data filtering.\n\n* **Constraint Validation:** Implemented custom logic to prevent conflicting appointments for both customers and sales staff.\n* **RBAC (Role-Based Access Control):** Secure login architecture that dynamically renders the GUI based on user permissions (Administrator vs. Salesperson).\n* **Regression Testing:** Conducted systematic verification of CRUD operations to ensure database synchronization remained perfect throughout the development lifecycle.\n\n---\n\n## 🏗 Key Features\n* **Dynamic Roster Filtering:** Real-time search and sort functionality by region, ID, or name.\n* **Automated Reporting:** Real-time salesperson stats tracking (Scheduled vs. Completed appointments).\n* **Relational Persistence:** Secure handling of client records and appointment history with automated primary/foreign key relationship management.\n\n\n\n---\n\n## 💻 How to Run Locally\n*This project was originally designed for a cloud-based AWS database but has been updated to run completely offline for portfolio demonstration purposes.*\n\n### Prerequisites\n* **Java JDK 17** or higher.\n* **MySQL Server 8.0** (Community Edition).\n* **IntelliJ IDEA** (Recommended IDE).\n\n### Step 1: Database Setup\n1.  Install **MySQL Server** and **MySQL Workbench**.\n2.  During installation, set the **Root Password** to `root`.\n    \u003e *Note: If you use a different password, you must update the `password` variable in `src/database/JDBC.java`.*\n3.  Open MySQL Workbench.\n4.  Open the file `database_setup.sql` located in the root of this project.\n5.  Run the entire script (Lightning Bolt icon) to create the database and populate it with sample data (Regions, States, Salespeople, Clients, and Appointments).\n\n### Step 2: Project Configuration\n1.  Open the project in **IntelliJ IDEA**.\n2.  Allow the IDE to import dependencies from the `pom.xml` file (Maven).\n    * *This automatically downloads JavaFX and the MySQL Connector.*\n3.  Ensure your Project SDK is set to **Java 17** (`File` \u003e `Project Structure` \u003e `Project`).\n\n### Step 3: Launch the Application\n1.  Navigate to `src/main/Launcher.java`.\n2.  Click the **Green Play Button** (Run).\n    * *Do not run `Main.java` directly as it may cause JavaFX runtime errors.*\n\n---\n\n## 🔑 Login Credentials\n\n| Role | Username | Password | Region Access |\n| :--- | :--- | :--- | :--- |\n| **Administrator** | `admin` | `Passw0rd!` | Global (All Regions) |\n| **Salesperson** | `sales_ne` | `12345` | Northeast Region Only |\n\n## ENJOY!!!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhughmorris01%2Fwgu_capstone_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhughmorris01%2Fwgu_capstone_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhughmorris01%2Fwgu_capstone_project/lists"}