- TypeScript 56.3%
- Go 28%
- TSQL 5.9%
- Shell 4%
- Astro 2%
- Other 3.8%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
# Changes - Fixed vulnerabilities. # Testing - [ ] Make sure you have latest code. - [ ] run `just install-deps` command, it must be successful and for frontend it must show 0 vulneralibilities. - [ ] now run `just run` and everything must get up correctly. - [ ] now play around with frontend and make sure every route is opening. Reviewed-on: #60 |
||
| .agents | ||
| .amp | ||
| .bots | ||
| .forgejo/workflows | ||
| backend | ||
| deploy | ||
| docker | ||
| docs | ||
| frontend | ||
| site | ||
| specs | ||
| .dockerignore | ||
| .env.development | ||
| .gitignore | ||
| AGENTS.md | ||
| ARCHITECTURE.md | ||
| compose.yaml | ||
| CONTRIBUTING.md | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
Kwila Office Extensions
Extend your office software.
A modern web interface for accessing and analyzing data from your office software. Built to be self-hosted on an internal network, it focuses on optimizing tedious tasks and providing intuitive data visualization.
Compatible Systems
- Aptora Total Office Manager
- More will be added in the future
Development
just install-deps
just run
just run uses the checked-in .env.development, starts SQL Server, applies the
seed data, and starts the Go and Vite development servers. The local database
requires Docker with at least 2 GB of memory available. It contains fictional
employees, invoices, commissions, and employee feature assignments covering the
application's current report filters.
Run just stop-db to stop SQL Server while preserving local data. Run
just reset-db to delete only the Compose-managed synthetic database volume and
recreate it from the seed.
Open the application at https://localhost:8080. The development Go server
provides the HTTPS entry point, proxies the frontend to Vite, and serves the
/api routes. Do not use http://localhost:8080 or open Vite directly on
localhost:5173, or the browser may receive an HTML fallback page instead of
the API's JSON response.
Because the development certificate is self-signed, your browser will show a certificate warning the first time. Accept the warning to continue.
Production Deployment
# Create the ignored, host-specific deployment configuration
cp deploy/environment.example .env.production.example.com
# Edit it with the production database credentials, then deploy
just deploy production.example.com
The deployment script builds the application and installs the host-specific
configuration as /opt/kwila-office-extensions/.env, where systemd loads it.
You can access at 0.0.0.0:443 (or from any other device on the network).
HTTP requests on port 80 automatically redirect to HTTPS.
Key Features
For Users
- Clean, minimal interface focused on usability
- Powerful data tables with sorting and filtering
For Developers
- Single executable (no separate static files)
- Hot-reload development with instant feedback
Architecture
See ARCHITECTURE.md.