{"id":24499834,"url":"https://github.com/fidelisaboke/strathport","last_synced_at":"2025-05-12T16:24:51.329Z","repository":{"id":240917308,"uuid":"803776190","full_name":"Fidelisaboke/StrathPort","owner":"Fidelisaboke","description":"This project focuses on creating a web application for school transport scheduling and vehicle allocation","archived":false,"fork":false,"pushed_at":"2025-02-01T18:29:54.000Z","size":7692,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T00:23:53.890Z","etag":null,"topics":["alpine-js","blade-template","laravel","tailwind-css","tall-stack"],"latest_commit_sha":null,"homepage":"","language":"Blade","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fidelisaboke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-05-21T11:15:42.000Z","updated_at":"2025-02-01T18:29:57.000Z","dependencies_parsed_at":"2024-06-28T09:00:13.657Z","dependency_job_id":"b9cd9d2d-e95b-4160-bc42-637ecb358c1b","html_url":"https://github.com/Fidelisaboke/StrathPort","commit_stats":null,"previous_names":["fidelisaboke/school-transport-scheduling-system","fidelisaboke/strathport"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fidelisaboke%2FStrathPort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fidelisaboke%2FStrathPort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fidelisaboke%2FStrathPort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fidelisaboke%2FStrathPort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fidelisaboke","download_url":"https://codeload.github.com/Fidelisaboke/StrathPort/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253774905,"owners_count":21962249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["alpine-js","blade-template","laravel","tailwind-css","tall-stack"],"created_at":"2025-01-21T22:16:00.661Z","updated_at":"2025-05-12T16:24:51.311Z","avatar_url":"https://github.com/Fidelisaboke.png","language":"Blade","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StrathPort: A Web-based School Transport Scheduling and Vehicle Allocation System\n\n![GitHub Created At][github-created-at] ![GitHub contributors][github-contributors] ![GitHub last commit (branch)][github-last-commit-main] ![GitHub Actions Workflow Status][github-actions-workflow-status]\n\n[github-created-at]: https://img.shields.io/github/created-at/Fidelisaboke/StrathPort\n[github-contributors]: https://img.shields.io/github/contributors/Fidelisaboke/StrathPort\n[github-last-commit-main]: https://img.shields.io/github/last-commit/Fidelisaboke/StrathPort/main\n[github-actions-workflow-status]: https://img.shields.io/github/actions/workflow/status/Fidelisaboke/StrathPort/laravel.yml\n\n## About StrathPort\n\nThis project aims to create a web application for school transport scheduling and vehicle allocation at Strathmore University. It includes modules for transport requests, transport schedules, carpool drivers, and admin functions. The goal is to provide reliable transportation and efficient communication within the school. The system will centralize the management of transport and improve daily operations and extracurricular activities.\n\n## Table of Contents\n\n1. [Installation and Setup](#installation-and-setup)\n    - [Installation Requirements](#installation-requirements)\n2. [Steps for project setup](#steps-for-project-setup)\n3. [Usage Instructions](#usage-instructions)\n    - [Running the web application](#running-the-web-application)\n4. [Project Structure](#project-structure)\n5. [Known Issues](#known-issues)\n6. [Acknowledgements](#acknowledgements)\n7. [Contact Information](#contact-information)\n8. [License](#license)\n\n## Installation and Setup\n\n### Installation Requirements\n\nBefore installing and setting up this project in your local storage you must have the following:\n\n-   **Composer** - An open source dependency management tool for PHP programming language that helps in managing the libraries and dependencies that this project relies on. It can be installed through the [Composer Website](https://getcomposer.org/)\n\n-   **Apache XAMPP Server** - It is a free and open-source cross-platform web server solution that assists in running the application. It can be installed [here](https://www.apachefriends.org/).\n\n-   **PHP Version 8.2+** - It is a general-purpose scripting language mostly used in web development. It can be installed in the [PHP Website](https://www.php.net/). If you've installed XAMPP, there's no need to install PHP separately as XAMPP comes with it.\n\n-   **Visual Studio Code** - It is a source-code editor developed by Microsoft. It can be installed [here](https://code.visualstudio.com/).\n\n## Steps for project setup\n\n-   Once you have the specified requirements above, clone the project repository to your desired directory by running the command:\n\n```bash\ngit clone https://github.com/Fidelisaboke/StrathPort.git\n```\n\n- Navigate to the project directory:\n```bash\ncd StrathPort\n```\n\n-   Install Composer dependencies\n\n```bash\ncomposer install\n```\n\n-   Install node dependencies\n\n```bash\nnpm install\n```\n\n-   Copy the .env.example file to .env\n\n```bash\ncp .env.example .env\n```\n\n-   You then update the .env file to include your databse details and email credentials\n\n```\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=NAME OF YOUR DATABASE\nDB_USERNAME=YOUR USERNAME\nDB_PASSWORD=YOUR PASSWORD\n\nMAIL_MAILER=smtp\nMAIL_HOST=smtp.gmail.com\nMAIL_PORT=587\nMAIL_USERNAME=YOUR_EMAIL_ADDRESS\nMAIL_PASSWORD=YOUR_APP_PASSWORD\nMAIL_ENCRYPTION=tls\nMAIL_FROM_ADDRESS=YOUR_EMAIL_ADDRESS\nMAIL_FROM_NAME=\"${APP_NAME}\"\n```\n\n-   To get the `MAIL_PASSWORD`, go to your Google account's 'Manage Password' setting, then in the 'Security' menu, search for 'App password'.\n\n-   Afterwards, run the database migrations to include the database tables that would be needed for the application\n\n```bash\nphp artisan migrate\n```\n\n-   Generate an application key:\n\n```bash\nphp artisan key:generate\n```\n\n-   Create a symbolic link with the storage folder:\nThis is important since the image upload features make use of the storage folder\n```bash\nphp artisan storage:link\n```\n\n\n## Usage Instructions\n\n### Running the web application\n\n-   Compile the Front-end assets\n\n```bash\nnpm run dev\n```\n\n-   Start the development server\n\n```bash\nphp artisan serve\n```\n\n## Project Structure\n\n### Tree Structure\n\n```\n.\n├── app\n│   ├── Actions\n│   │   ├── Fortify\n│   │   └── Jetstream\n│   ├── Http\n│   │   ├── Controllers\n│   │   │   ├── Admin\n│   │   │   │   └── Report\n│   │   │   └── CarpoolDriver\n│   │   └── Middleware\n│   ├── Listeners\n│   ├── Livewire\n│   │   └── Profile\n│   ├── Models\n│   ├── Notifications\n│   ├── Providers\n│   └── View\n│       └── Components\n│           └── Tables\n├── bootstrap\n│   └── cache\n├── config\n├── database\n│   ├── factories\n│   ├── migrations\n│   └── seeders\n├── .github\n│   └── workflows\n├── public\n│   └── images\n├── resources\n│   ├── css\n│   ├── js\n│   ├── markdown\n│   └── views\n│       ├── admin\n│       │   ├── carpool_drivers\n│       │   ├── carpool_vehicles\n│       │   ├── school_drivers\n│       │   ├── school_vehicles\n│       │   ├── transport_requests\n│       │   ├── transport_schedules\n│       │   └── users\n│       ├── api\n│       ├── auth\n│       ├── components\n│       │   ├── svg\n│       │   └── tables\n│       ├── driver\n│       │   ├── carpooling_details\n│       │   ├── carpool_requests\n│       │   └── carpool_vehicles\n│       ├── emails\n│       ├── layouts\n│       ├── livewire\n│       │   └── profile\n│       ├── profile\n│       ├── user\n│       │   ├── carpooling_details\n│       │   ├── carpool_requests\n│       │   ├── transport_requests\n│       │   └── transport_schedules\n│       └── vendor\n│           └── pagination\n├── routes\n├── storage\n│   ├── app\n│   │   └── public\n│   ├── framework\n│   │   ├── cache\n│   │   │   └── data\n│   │   ├── sessions\n│   │   ├── testing\n│   │   └── views\n│   └── logs\n└── tests\n    ├── Feature\n    └── Unit\n```\n\nThe file tree is generated using the command `git ls-tree -r --name-only HEAD | tree --fromfile -d`\n\n## Known Issues\n\nThe following limitations or bugs are present in the project\n\n1. **Transport Request Limiting**\n- At the moment, it is limited by school vehicle availability, which is not reliable in handling the potential of many requests\n2. **Admin Monthly Report Generation**\n- The functionality is present in the code, but was isolated and replaced with a link to the view of the report\n3. **High Latency Issues**\n- Some functionalities, especially involving email notifications, take longer than the recommended 500ms response time, which could lead to a poor user experience\n\n## Acknowledgements\n\nWe would like to thank the developers of the following tools, languages, and frameworks which streamlined the web application development process:\n\n-   [![Tailwind][tailwind-shield]][tailwind-link]\n-   [![AlpineJS][alpinejs-shield]][alpinejs-link]\n-   [![Laravel][laravel-shield]][laravel-link]\n-   [![Livewire][livewire-shield]][livewire-link]\n-   [![ChartJS][chartjs-shield]][chartjs-link]\n-   [![MySQL][mysql-shield]][mysql-link]\n\n[tailwind-shield]: https://img.shields.io/badge/tailwindcss-0F172A?style=for-the-badge\u0026logo=tailwindcss\n[tailwind-link]: https://tailwindcss.com/\n[laravel-shield]: https://img.shields.io/badge/laravel-%23FF2D20.svg?style=for-the-badge\u0026logo=laravel\u0026logoColor=white\n[laravel-link]: https://laravel.com/\n[alpinejs-shield]: https://img.shields.io/badge/Alpine.js-663399?style=for-the-badge\u0026logo=alpine.js\u0026logoColor=white\n[alpinejs-link]: https://alpinejs.dev/\n[livewire-shield]: https://img.shields.io/badge/livewire-4e56a6?style=for-the-badge\u0026logo=livewire\u0026logoColor=white\n[livewire-link]: https://livewire.laravel.com/\n[chartjs-shield]: https://img.shields.io/badge/chart.js-F5788D.svg?style=for-the-badge\u0026logo=chart.js\u0026logoColor=white\n[chartjs-link]: https://www.chartjs.org/\n[mysql-shield]: https://img.shields.io/badge/mysql-4479A1.svg?style=for-the-badge\u0026logo=mysql\u0026logoColor=white\n[mysql-link]: https://www.mysql.com/\n\n## Contact Information\n\nFor any inquiries, please contact us at:\n\nhttps://github.com/Lynn-Wahito - Lynn Wahito\n\nhttps://github.com/Fidelisaboke - Fidel Isaboke\n\n## License\n\nThis project is open-sourced software licensed under the [MIT license](https://opensource.org/license/MIT).\n\n[![MIT License][mit-shield]][mit-license]\n\n[mit-shield]: https://img.shields.io/badge/License-MIT-blue.svg\n[mit-license]: https://opensource.org/licenses/MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffidelisaboke%2Fstrathport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffidelisaboke%2Fstrathport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffidelisaboke%2Fstrathport/lists"}