# Project plan — UnityApi

Evidence date: 2026-09-30.

Source repository: `git@bitbucket.org:overdrive/unityapi.git`.

Inspected revision: `master` at `23894c8` (2019-06-03 23:30:09 +0200, Jaco Brits, "Update artisan"). The scan-host path `~/projects/sonar_scan/repos/UnityApi` was not on this machine. The tree below was read from that git revision.

This plan describes what the repository contains. It does not decide what the product should become.

There is no product requirements document in the source repository and no prior Silicon Ark set for `UnityApi/`. The only project-authored sentence in git is the first commit's `README.md`, which was a single heading `# UnityApi`. Commit `23894c8` replaced that file with the upstream Laravel 5.8 README.

Silicon Ark already has other Unity-named directories (`unityNodejsApi`, `unity-lambda-api`, `unity-skeleton`, `unityFrontend`, `unityCLI`, `unityAWS`, and others). This repository does not name them. Whether they are one product is **Unknown / Requires Confirmation**.

## Product

**Documented** only as the repository name and the replaced README heading `UnityApi`.

**Implemented** behaviour is an unmodified Laravel 5.8 application skeleton (`composer.json` name `laravel/laravel`, framework locked at `v5.8.19`). No Unity-specific controller, route, model, migration, or integration was found.

No written statement of product purpose, audience, or owner was found beyond the git author (Jaco Brits, `jaco@overdrive.co.za`).

## Branch reality

| Line | Tip | Date | What it is |
|---|---|---|---|
| `master` (default; `origin/HEAD`) | `23894c8` | 2019-06-03 | Only branch. 2 commits, both on 2019-06-03 |

No other local or remote branches were present at inspection. Nothing in git is dated after 2019-06-03. Whether the application was ever deployed is **Unknown / Requires Confirmation**.

| Commit | Date | Author | Subject | What the tree actually contains |
|---|---|---|---|---|
| `2a22b30` | 2019-06-03 21:22:23 +0000 | Jaco Brits | Initial commit | Only `README.md`, contents `# UnityApi` |
| `23894c8` | 2019-06-03 23:30:09 +0200 | Jaco Brits | Update artisan | Adds the Laravel 5.8 skeleton and replaces `README.md` with the upstream Laravel README. The subject names `artisan`; the diff adds the application |

## Objectives

No objectives file exists. The behaviour the second commit introduced is the stock Laravel 5.8 project created under this repository name:

1. `2a22b30` — repository placeholder named UnityApi.
2. `23894c8` — PHP application (`laravel/framework` 5.8.19), default routes, default auth controller classes, two migrations, one welcome view, Vue/Bootstrap asset scaffold, PHPUnit examples.

No later objective, milestone, or backlog is in the tree.

## Scope

### In scope of `master` at `23894c8`

- Laravel 5.8 HTTP application: front controller `public/index.php`, `artisan`, `routes/web.php`, `routes/api.php`.
- One web route: `GET /` returns `resources/views/welcome.blade.php`.
- One API route: `GET /api/user`, middleware `auth:api`.
- Auth controller classes under `app/Http/Controllers/Auth/`. No `Auth::routes()` call and no auth views were found, so those classes are not reachable from the router.
- Migrations for `users` and `password_resets`.
- Default config, `.env.example`, PHPUnit example tests, Laravel Mix + Vue example component.
- `composer.lock` pins framework `v5.8.19`. `vendor/` and `node_modules/` are gitignored and are not in the tree.

### Out of scope / not in this repository

- A deployed environment, host, domain, or pipeline. No Dockerfile, Bitbucket Pipelines file, or web-server config beyond the stock `public/.htaccess` and `public/web.config`.
- Real `.env` values. `.env` is gitignored. `.env.example` is the Laravel Homestead template.
- `sonar-project.properties` and `sonarqube_scan.bat`. The onboarding issue listed both at the scan-host root on 2026-09-28. Neither file is in either commit. Whether they existed only as untracked files on that machine is **Unknown / Requires Confirmation**.
- Any caller, Unity client, or sibling repository. Not named in this tree.
- Database server contents. Only the two migration files describe schema.

## System shape

```text
Browser
    |
    |  GET /
    v
public/index.php  ->  Laravel HTTP kernel (web middleware, including CSRF)
    |
    v
routes/web.php  ->  resources/views/welcome.blade.php
                      (title "Laravel"; does not load public/js/app.js)

Client (unknown)
    |
    |  GET /api/user   Authorization / api_token   (auth:api, token guard)
    v
routes/api.php  ->  returns the authenticated user
                     users migration has no api_token column
```

Auth controller classes (`LoginController`, `RegisterController`, `ForgotPasswordController`, `ResetPasswordController`, `VerificationController`) set `$redirectTo = '/home'`. There is no `/home` route, no `HomeController`, and no `home` view.

`App\Providers\BroadcastServiceProvider` is commented out in `config/app.php`, so `routes/channels.php` is not registered.

## Current status

Dormant scaffold. Last change 2019-06-03. No product feature has been added on top of the framework skeleton. Current project status is "repository created and filled with the Laravel 5.8 application template."

## Milestones

No milestone list exists. The only historical steps are the two commits above. There is no implementation plan in the repository for work after `23894c8`.

## Dependencies known from the tree

- PHP `^7.1.3` (`composer.json`).
- `laravel/framework` `5.8.*`, locked at `v5.8.19`.
- `fideloper/proxy` `^4.0` (trusted-proxy middleware).
- `laravel/tinker` `^1.0`.
- Dev: PHPUnit `^7.5`, Faker, Mockery, Collision, Whoops, Laravel Dump Server.
- Front-end devDependencies: Vue `^2.5.17`, Bootstrap `^4.1.0`, Laravel Mix `^4.0.7`, axios, jquery, lodash, sass. No `package-lock.json` or `yarn.lock` is committed.
- Example database: MySQL, database name `homestead` in `.env.example`. Config also defines sqlite, pgsql, and sqlsrv connections. Which engine a deployment would use is **Unknown / Requires Confirmation**.

## Human confirmation

- What UnityApi was meant to be, and whether it was abandoned after the skeleton commit.
- Whether it belongs with the other Unity repositories already in Silicon Ark.
- Whether `sonar-project.properties` and `sonarqube_scan.bat` should be treated as part of the project. They are not in git at `23894c8`.
- Whether the application was deployed, and where.
- Whether the stock auth controllers were ever intended to be routed.
