{"id":48842587,"url":"https://github.com/yukazakiri/koakademy","last_synced_at":"2026-06-05T05:00:49.362Z","repository":{"id":350257124,"uuid":"1205762224","full_name":"yukazakiri/koakademy","owner":"yukazakiri","description":"🎓 Modern open-source and opinionated academic management platform for student lifecycle workflows. Built with Laravel 12, Inertia.js, React \u0026 Tailwind CSS. Features enrollment, billing, scheduling \u0026 admin tools with configurable branding and PWA support.","archived":false,"fork":false,"pushed_at":"2026-06-02T04:00:03.000Z","size":9445,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-02T05:22:42.109Z","etag":null,"topics":["academic-management","admin-dashboard","agpl","college","education","enrollment","erp","filamentphp","inertiajs","laravel","open-source","php","postgresql","pwa","react","school-management","student-information-system","tailwindcss","university"],"latest_commit_sha":null,"homepage":"https://yukazakiri.github.io/koakademy/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yukazakiri.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-04-09T08:56:07.000Z","updated_at":"2026-06-02T04:00:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"702bdc2c-b346-457f-8221-3fcf5f2aa829","html_url":"https://github.com/yukazakiri/koakademy","commit_stats":null,"previous_names":["yukazakiri/koakademy"],"tags_count":119,"template":false,"template_full_name":null,"purl":"pkg:github/yukazakiri/koakademy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukazakiri%2Fkoakademy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukazakiri%2Fkoakademy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukazakiri%2Fkoakademy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukazakiri%2Fkoakademy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yukazakiri","download_url":"https://codeload.github.com/yukazakiri/koakademy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yukazakiri%2Fkoakademy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33930311,"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-05T02:00:06.157Z","response_time":120,"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":["academic-management","admin-dashboard","agpl","college","education","enrollment","erp","filamentphp","inertiajs","laravel","open-source","php","postgresql","pwa","react","school-management","student-information-system","tailwindcss","university"],"created_at":"2026-04-15T03:02:50.674Z","updated_at":"2026-06-05T05:00:49.352Z","avatar_url":"https://github.com/yukazakiri.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![AGPLv3 License][license-shield]][license-url]\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/yukazakiri/koakademy\"\u003e\n    \u003cimg src=\"public/logo.png\" alt=\"KoAkademy Logo\" width=\"96\" height=\"96\" /\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eKoAkademy\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    KoAkademy is an academic management platform that keeps student records, enrollment, billing, schedules, and school administration together in one application.\n    \u003cbr /\u003e\n    Built for schools, staff, and developers, it combines a polished web experience with a modern backend stack.\n    \u003cbr /\u003e\n    \u003ca href=\"GETTING_STARTED.md\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://portal.koakademy.edu\"\u003eView Demo\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"https://github.com/yukazakiri/koakademy/issues/new?labels=bug\"\u003eReport Bug\u003c/a\u003e\n    \u0026middot;\n    \u003ca href=\"https://github.com/yukazakiri/koakademy/issues/new?labels=enhancement\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#deployment\"\u003eDeployment\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#development\"\u003eDevelopment\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\n![KoAkademy][product-screenshot]\nKoAkademy is an academic management system made to simplify school operations for administrators, teachers, and students.\nIt brings admissions, tuition, schedules, reporting, and school settings into one place so teams can work without switching tools.\n\nThe platform is built with Laravel 12, Inertia + React, Filament, and Tailwind CSS, giving developers a modern codebase and users a fast, intuitive interface.\n\n### Key Features\n\n* **Student Management** — Enrollment, records, and lifecycle tracking in one dashboard.\n* **Financial Management** — Billing, tuition payments, fee structures, and financial reporting.\n* **Schedule Management** — Class schedules, timetables, and room assignments.\n* **Admin Dashboard** — Comprehensive staff tooling for school operations and configuration.\n* **Student Portal** — Self-service access to grades, schedules, billing, and school information.\n* **Customizable Branding** — Logo, favicon, colors, and metadata configurable without code.\n* **Extensible Architecture** — Built on modern Laravel with reusable components and modules.\n* **Progressive Web App** — Works offline-first with install-to-home-screen support.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\n* [![Laravel][Laravel.com]][Laravel-url]\n* [![Inertia][Inertia.shield]][Inertia-url]\n* [![React][React.js]][React-url]\n* [![Tailwind CSS][Tailwind.shield]][Tailwind-url]\n* [![PostgreSQL][Postgres.shield]][Postgres-url]\n* [![Vite][Vite.shield]][Vite-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nKoAkademy is a self-hosted academic management platform for student portals, admin work, enrollment, finance, schedules, and content.\n\nJust want to run it? Start with Docker below. Want to contribute code? Jump to [Development](#development).\n\n### Quick Start\n\nThis quick start uses the smallest practical setup: KoAkademy + SQLite + Redis.\n\n- SQLite is the default database.\n- Redis is included because the production image uses Horizon for queues.\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cstrong\u003eOne copy-paste quick start\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\nmkdir -p koakademy \u0026\u0026 cd koakademy\nmkdir -p database\ntouch database/database.sqlite\nAPP_KEY=\"base64:$(openssl rand -base64 32)\"\ncat \u003e .env \u003c\u003cEOF\nAPP_NAME=\"KoAkademy\"\nAPP_ENV=production\nAPP_DEBUG=false\nAPP_URL=http://localhost:8000\nAPP_KEY=${APP_KEY}\nPORTAL_HOST=localhost\nADMIN_HOST=localhost\nREDIS_HOST=redis\nQUEUE_CONNECTION=redis\nEOF\ncat \u003e compose.yaml \u003c\u003c'EOF'\nservices:\n  app:\n    image: docker.io/yukazakiri/koakademy:latest\n    restart: unless-stopped\n    env_file: .env\n    ports:\n      - \"8000:8000\"\n    volumes:\n      - koakademy-storage:/app/storage\n      - ./database/database.sqlite:/app/database/database.sqlite\n    depends_on:\n      redis:\n        condition: service_started\n\n  redis:\n    image: redis:7-alpine\n    restart: unless-stopped\n    volumes:\n      - koakademy-redis:/data\n\nvolumes:\n  koakademy-storage:\n  koakademy-redis:\nEOF\ndocker compose up -d\ndocker compose logs --tail=100 app\n```\n\nOpen `http://localhost:8000`, then create your first admin user:\n\n```sh\ndocker compose exec app php artisan make:filament-user\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eImage tags (which one should I use?)\u003c/strong\u003e\u003c/summary\u003e\n\n* `docker.io/yukazakiri/koakademy:latest` — stable (recommended for most users).\n* `docker.io/yukazakiri/koakademy:dev-latest` — rolling updates (for early testing).\n* `ghcr.io/yukazakiri/koakademy:latest` — GitHub Container Registry mirror when enabled for a release.\n\nTo try the rolling build, change the app image to:\n\n```yaml\nimage: docker.io/yukazakiri/koakademy:dev-latest\n```\n\n\u003c/details\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- DEPLOYMENT --\u003e\n## Deployment\n\nFor self-hosting, start small with Docker Compose and add extra services only when you need them.\n\nBy default, the app already works with:\n\n- SQLite database\n- database-backed cache/sessions\n- log mail driver\n- collection search\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eMinimal Docker Compose (recommended starting point)\u003c/strong\u003e\u003c/summary\u003e\n\n```yaml\nservices:\n  app:\n    image: docker.io/yukazakiri/koakademy:latest\n    restart: unless-stopped\n    env_file: .env\n    ports:\n      - \"8000:8000\"\n    volumes:\n      - koakademy-storage:/app/storage\n      - ./database/database.sqlite:/app/database/database.sqlite\n    depends_on:\n      - redis\n\n  redis:\n    image: redis:7-alpine\n    restart: unless-stopped\n    volumes:\n      - koakademy-redis:/data\n\nvolumes:\n  koakademy-storage:\n  koakademy-redis:\n```\n\nRequired `.env` values for this minimal setup:\n\n```env\nAPP_NAME=\"KoAkademy\"\nAPP_ENV=production\nAPP_DEBUG=false\nAPP_URL=https://your-domain.example\nAPP_KEY=base64:replace-with-generated-key\nPORTAL_HOST=your-domain.example\nADMIN_HOST=your-domain.example\nREDIS_HOST=redis\nQUEUE_CONNECTION=redis\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eSame thing with docker run\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\nmkdir -p koakademy/database\ntouch koakademy/database/database.sqlite\ndocker network create koakademy 2\u003e/dev/null || true\ndocker run -d --name koakademy-redis --restart unless-stopped --network koakademy redis:7-alpine\ndocker run -d \\\n  --name koakademy \\\n  --restart unless-stopped \\\n  --network koakademy \\\n  -p 8000:8000 \\\n  -v koakademy-storage:/app/storage \\\n  -v \"$(pwd)/koakademy/database/database.sqlite:/app/database/database.sqlite\" \\\n  -e APP_NAME=\"KoAkademy\" \\\n  -e APP_ENV=production \\\n  -e APP_DEBUG=false \\\n  -e APP_URL=http://localhost:8000 \\\n  -e APP_KEY=base64:replace-with-generated-key \\\n  -e PORTAL_HOST=localhost \\\n  -e ADMIN_HOST=localhost \\\n  -e REDIS_HOST=koakademy-redis \\\n  -e QUEUE_CONNECTION=redis \\\n  docker.io/yukazakiri/koakademy:latest\n```\n\nGenerate an app key with:\n\n```sh\nprintf 'base64:%s\\n' \"$(openssl rand -base64 32)\"\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eProduction add-ons you’ll probably want later\u003c/strong\u003e\u003c/summary\u003e\n\n* Put Caddy, Traefik, Nginx, Cloudflare Tunnel, or your platform proxy in front of port `8000` for HTTPS.\n* Move to PostgreSQL when you need stronger multi-user production database operations (recommended).\n* Add Meilisearch when you want external Scout search indexing.\n* Configure SMTP for real outbound email.\n* Use S3 or Cloudflare R2 for durable uploads if you run more than one app node or replace hosts often.\n* Keep `/app/storage` persistent. For SQLite installs, also keep `/app/database/database.sqlite` persistent.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDatabase options (pick one)\u003c/strong\u003e\u003c/summary\u003e\n\n### 1) SQLite (fastest way to get running)\n\n```env\nDB_CONNECTION=sqlite\n```\n\nMount a writable file:\n\n```yaml\nvolumes:\n  - ./database/database.sqlite:/app/database/database.sqlite\n```\n\n### 2) PostgreSQL (recommended for production)\n\n```env\nDB_CONNECTION=pgsql\nDB_HOST=pgsql\nDB_PORT=5432\nDB_DATABASE=koakademy\nDB_USERNAME=koakademy\nDB_PASSWORD=replace-with-strong-password\n```\n\nExample service:\n\n```yaml\npgsql:\n  image: postgres:17-alpine\n  restart: unless-stopped\n  environment:\n    POSTGRES_DB: koakademy\n    POSTGRES_USER: koakademy\n    POSTGRES_PASSWORD: replace-with-strong-password\n  volumes:\n    - koakademy-pgsql:/var/lib/postgresql/data\n```\n\n### 3) MySQL / MariaDB (if that’s your existing stack)\n\n```env\nDB_CONNECTION=mysql\nDB_HOST=mysql\nDB_PORT=3306\nDB_DATABASE=koakademy\nDB_USERNAME=koakademy\nDB_PASSWORD=replace-with-strong-password\n```\n\nExample service:\n\n```yaml\nmysql:\n  image: mysql:8.4\n  restart: unless-stopped\n  environment:\n    MYSQL_DATABASE: koakademy\n    MYSQL_USER: koakademy\n    MYSQL_PASSWORD: replace-with-strong-password\n    MYSQL_ROOT_PASSWORD: replace-with-strong-root-password\n  volumes:\n    - koakademy-mysql:/var/lib/mysql\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eEnvironment notes\u003c/strong\u003e\u003c/summary\u003e\n\nFor the minimal Docker setup, these are the main values you should set:\n\n* `APP_KEY` — required encryption key.\n* `APP_NAME` — display name, defaults to `KoAkademy`.\n* `APP_URL` — public URL used for generated links.\n* `PORTAL_HOST` — portal route hostname. Use `localhost` for local testing.\n* `ADMIN_HOST` — admin route hostname. Use `localhost` for local testing.\n* `REDIS_HOST` and `QUEUE_CONNECTION=redis` — needed because Horizon runs in the production image.\n\nThe Docker image runs migrations by default (`RUN_MIGRATIONS=true`) and listens on port `8000`.\n\n\u003c/details\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- DEVELOPMENT --\u003e\n## Development\n\nWorking on KoAkademy locally? Use the setup scripts. They handle the boring setup for you: env file, dependencies, local domains, certs, and services.\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cstrong\u003eLinux\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\ngit clone https://github.com/yukazakiri/koakademy.git\ncd koakademy\n./scripts/dev-setup.sh\n```\n\nUseful flags:\n\n```sh\n./scripts/dev-setup.sh --fresh\n./scripts/dev-setup.sh --skip-ssl\n./scripts/dev-setup.sh --skip-hosts\n./scripts/dev-setup.sh --skip-docker\n```\n\nThis script prepares the Docker Compose dev stack, local HTTPS certs, and hosts entries for `.test` domains.\n\nIf `portal.dccp.test` (or your portal host) shows `502 Bad Gateway`, see `docs/guide/getting-started/local-dev-troubleshooting.mdx`.\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003e\u003cstrong\u003eWindows / PowerShell + Laravel Herd\u003c/strong\u003e\u003c/summary\u003e\n\nInstall [Laravel Herd](https://herd.laravel.com/) first, then run:\n\n```powershell\ngit clone https://github.com/yukazakiri/koakademy.git\ncd koakademy\n.\\scripts\\dev-setup.ps1\n```\n\nUseful flags:\n\n```powershell\n.\\scripts\\dev-setup.ps1 -SkipMigrations\n.\\scripts\\dev-setup.ps1 -SkipNpm\n.\\scripts\\dev-setup.ps1 -SkipHosts\n```\n\nThe PowerShell script expects Laravel Herd and configures Herd-managed local domains and HTTPS.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eLocal development URLs\u003c/strong\u003e\u003c/summary\u003e\n\nThe scripts use domains from your `.env`. Common defaults are:\n\n* `https://portal.koakademy.test`\n* `https://admin.koakademy.test`\n* `http://mailpit.local.test:8025`\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCommon development commands\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\nphp artisan migrate\nphp artisan test --compact\nvendor/bin/pint --dirty --format agent\nnpm run dev\nnpm run build\n```\n\nIf you are using Sail / Docker Compose for development, prefix PHP and Node commands with `vendor/bin/sail`.\n\n\u003c/details\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nQuick links after the Docker quick start:\n\n* `http://localhost:8000`\n* `http://localhost:8000/admin`\n* `http://localhost:8000/administrators`\n\nUseful container commands:\n\n```sh\ndocker compose up -d\ndocker compose logs --tail=100 app\ndocker compose exec app php artisan make:filament-user\ndocker compose exec app php artisan migrate --force\ndocker compose pull app \u0026\u0026 docker compose up -d\ndocker compose down\n```\n\nLocal development commands:\n\n```sh\nphp artisan migrate\nphp artisan test --compact\nvendor/bin/pint --dirty --format agent\nnpm run dev\nnpm run build\n```\n\nDocs:\n\n* [Getting Started](GETTING_STARTED.md)\n* [Development Guide](DEVELOPMENT.md)\n* [Deployment Guide](DEPLOYMENT.md)\n* [Dev Container Setup](DEVCONTAINER_SETUP.md)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\n- [ ] Continue migration of legacy hardcoded brand/domain strings to settings-driven values\n- [ ] Expand API docs coverage for enrollment and finance endpoints\n- [ ] Improve release automation and deployment validation checks\n\nSee the [open issues][issues-url] for a full list of proposed features (and known issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are welcome.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'feat: add amazing feature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\nBefore opening a PR, please run:\n\n```sh\nvendor/bin/sail bin pint --dirty --format agent\nvendor/bin/sail artisan test --compact\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the GNU Affero General Public License v3.0 or later. See [`LICENSE.md`](LICENSE.md) for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## Acknowledgments\n\n* [Laravel](https://laravel.com)\n* [Filament](https://filamentphp.com)\n* [Inertia.js](https://inertiajs.com)\n* [React](https://react.dev)\n* [Tailwind CSS](https://tailwindcss.com)\n* [Shields.io](https://shields.io)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/yukazakiri/koakademy.svg?style=for-the-badge\n[contributors-url]: https://github.com/yukazakiri/koakademy/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/yukazakiri/koakademy.svg?style=for-the-badge\n[forks-url]: https://github.com/yukazakiri/koakademy/network/members\n[stars-shield]: https://img.shields.io/github/stars/yukazakiri/koakademy.svg?style=for-the-badge\n[stars-url]: https://github.com/yukazakiri/koakademy/stargazers\n[issues-shield]: https://img.shields.io/github/issues/yukazakiri/koakademy.svg?style=for-the-badge\n[issues-url]: https://github.com/yukazakiri/koakademy/issues\n[license-shield]: https://img.shields.io/github/license/yukazakiri/koakademy.svg?style=for-the-badge\n[license-url]: https://github.com/yukazakiri/koakademy/blob/master/LICENSE.md\n\n[product-screenshot]: /public/images/image.png\n\n[Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge\u0026logo=laravel\u0026logoColor=white\n[Laravel-url]: https://laravel.com\n[Inertia.shield]: https://img.shields.io/badge/Inertia-9553E9?style=for-the-badge\u0026logo=inertia\u0026logoColor=white\n[Inertia-url]: https://inertiajs.com\n[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\n[React-url]: https://react.dev\n[Tailwind.shield]: https://img.shields.io/badge/Tailwind_CSS-38BDF8?style=for-the-badge\u0026logo=tailwindcss\u0026logoColor=white\n[Tailwind-url]: https://tailwindcss.com\n[Postgres.shield]: https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\n[Postgres-url]: https://www.postgresql.org\n[Vite.shield]: https://img.shields.io/badge/Vite-646CFF?style=for-the-badge\u0026logo=vite\u0026logoColor=white\n[Vite-url]: https://vitejs.dev\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukazakiri%2Fkoakademy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyukazakiri%2Fkoakademy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukazakiri%2Fkoakademy/lists"}