Skip to content

Development

Goiabada was developed in Go using Linux. The GitHub repository includes a VS Code dev container with all dependencies pre-configured.

  1. Clone the repository
  2. Install Microsoft’s Dev Containers extension
  3. Open the repository in the dev container
  4. Run make serve from the src/authserver directory
  5. Run make serve from the src/adminconsole directory (in another terminal)

You now have a running Goiabada instance accessible at:

Default credentials:

The repository includes a CLAUDE.md file at the root with detailed architecture documentation, authentication flow state machines, OAuth2 implementation details, and coding patterns. This file is designed to help AI coding assistants (like Claude, Cursor, or GitHub Copilot) understand the codebase quickly.

src/
├── authserver/ # Auth server application
│ ├── cmd/ # Entry point
│ ├── internal/ # Internal packages
│ ├── tests/ # Integration tests
│ └── web/ # Templates and static files
├── adminconsole/ # Admin console application
│ ├── cmd/ # Entry point
│ ├── internal/ # Internal packages
│ └── web/ # Templates and static files
├── core/ # Shared code between applications
└── build/ # Docker and build scripts

To run the complete test suite (100% of tests):

Terminal window
cd src/authserver
./run-tests.sh

This script will:

  • Run unit tests for authserver, adminconsole, and core modules
  • Run data layer tests against all supported databases (MySQL, PostgreSQL, SQL Server, SQLite)
  • Run integration tests against all supported databases
  • Automatically handle server startup/shutdown and cleanup
ComponentTechnology
LanguageGo
HTTP RouterChi
SQL Buildergo-sqlbuilder
CSS FrameworkTailwind CSS with DaisyUI
DatabaseMySQL, PostgreSQL, SQL Server, SQLite

Bug reports and pull requests are encouraged. Looking to contribute? Pick an issue from the GitHub issues page and get started. You can reach out at [email protected].