Environment Requirements
| Component | Version |
|---|---|
| Node.js | v18.0+ |
| Go | v1.21+ |
| Docker | Latest stable |
| Docker Compose | v3.8+ |
For developers looking to contribute to Jovvix or extend its functionality, this guide offers in-depth technical documentation. Dive into the codebase, understand the architecture, and learn how to set up your development environment. This section is essential for anyone looking to build upon or integrate with the Jovvix platform.
| Component | Version |
|---|---|
| Node.js | v18.0+ |
| Go | v1.21+ |
| Docker | Latest stable |
| Docker Compose | v3.8+ |
| Component | Tech |
|---|---|
| Frontend | Nuxt3, Vue.js, Vuetify, Bootstrap, Chart.js, Highlight.js |
| Backend | Go (Golang), Ory Kratos, PostgreSQL, Redis |
| Auth | Ory Kratos + SMTP |
| Storage | AWS S3 Compatible API (Minio for local dev) |
| Realtime | WebSockets |
| Infra | Docker, GitHub Actions (public), NGINX |
| Technology | Version | Description |
|---|---|---|
| Nuxt3 | ^3.14.1592 | Vue.js framework for server-side rendering and static site generation |
| Technology | Version | Description |
|---|---|---|
| Vuetify | ^3.5.6 | Material Design component framework for Vue.js |
| Bootstrap | ^5.2.3 | CSS framework for responsive design |
| Technology | Version | Description |
|---|---|---|
| Chart.js | ^4.4.4 | JavaScript charting library |
| Highlight.js | ^11.10.0 | Syntax highlighting library |
| FontAwesome | ^6.4.2 | Icon library (core, solid, brands) |
| Technology | Version | Description |
|---|---|---|
| Pinia | ^2.1.7 | Vue.js state management |
| @pinia/nuxt | ^0.5.1 | Nuxt integration for Pinia |
| vue-toastification | ^2.0.0-rc.5 | Toast notifications for Vue.js |
| qrcode.vue | ^3.5.1 | QR code generator component |
| Technology | Version | Description |
|---|---|---|
| Go (Golang) | 1.21 (toolchain 1.21.6) | Backend programming language |
| Fiber | v2.51.0 | Express-inspired web framework for Go |
| fasthttp/websocket | v1.5.7 | WebSocket implementation for real-time communication |
| Technology | Version | Description |
|---|---|---|
| PostgreSQL | 15.2-alpine | Primary relational database |
| Redis | latest | In-memory data structure store for caching |
| Technology | Version | Description |
|---|---|---|
| Ory Kratos | v1.0.0 | Identity and user management system |
| Technology | Version | Description |
|---|---|---|
| AWS S3 SDK | v1.2.0.0 | AWS S3 integration for cloud storage |
| MinIO | latest (quay.io/minio/minio) | S3-compatible object storage for local development |
Vue.js Version: Not explicitly listed in package.json as it's bundled with Nuxt 3.14, which uses Vue 3.x
Docker Images: Using official images with specific tags for reproducible builds
Development vs Production: Some services use different configurations between local development and production environments
Version Pinning: Most dependencies use caret (^) versioning for automatic minor updates while maintaining compatibility
git clone https://github.com/Improwised/jovVix.git
cd jovVix
docker-compose up --build cd api
cp .env_example .env
docker-compose up
go run app_go migrate up
go run app_go api cd app
cp .env_example .env
npm install
npm run dev Start the backend and visit:
http://127.0.0.1:8080/api/v1/docsClean separation between api and app — each layer ships and evolves on its own.
Fully documented endpoints with an interactive Swagger UI out of the box.
Drop-in S3-compatible storage via MinIO locally and AWS S3 in production.
Local email testing wired up with Mailpit — no third-party required in dev.
Configure everything through environment variables — no hardcoded secrets.
Follows 12-factor app design principles for portable, cloud-ready deploys.
Jovvix is open-source under GNU AGPL 3.0. Fork the repo, ship a fix, or propose a feature — all are welcome.