# Jovvix Quiz Application

**Author:** Molla Samser (Founder, RSK World)  
**Designer & Tester:** Rima Khatun  
**Website:** https://rskworld.in  
**Contact:** hello@rskworld.in | +91 93305 39277  
**Address:** Nutanhat, Mongolkote, Purba Burdwan, West Bengal, India, 713147

---

## Overview

Jovvix is an open-source quiz application built for live engagement. It provides a comprehensive platform for creating, managing, and participating in interactive quizzes with real-time features.

## Architecture

This is a full-stack application with the following components:

### Frontend (Nuxt 3 + Vue 3)
- Modern, responsive UI with Vuetify 3
- Real-time quiz participation
- User authentication and verification
- Performance optimized with SSR

### Backend (Go + Fiber)
- High-performance REST API
- WebSocket support for real-time features
- Multi-database support (PostgreSQL, MySQL, SQLite)
- Message queue system for background jobs

### Infrastructure
- Docker containerization
- PostgreSQL database
- Redis for caching
- MinIO for file storage
- Ory Kratos for identity management

## Quick Start

### Prerequisites
- Docker and Docker Compose
- Node.js 18+
- Go 1.23+

### Running the Application

1. Clone the repository:
   ```bash
   git clone <repository-url>
   cd quiz-application
   ```

2. Start all services:
   ```bash
   docker-compose up -d
   ```

3. Access the application:
   - Frontend: http://localhost:5000
   - Backend API: http://localhost:3000
   - Database: localhost:5432
   - MinIO Console: http://localhost:9001

## Development

### Frontend Development
```bash
cd app
npm install
npm run dev
```

### Backend Development
```bash
cd api
go mod vendor
make start-api-dev
```

## Features

- **Live Quiz Engagement:** Real-time quiz participation
- **User Management:** Authentication, verification, profiles
- **Quiz Creation:** Comprehensive quiz builder
- **Analytics:** Performance tracking and insights
- **Responsive Design:** Works on all devices
- **Scalable Architecture:** Built for performance

## Technology Stack

### Frontend
- Nuxt 3, Vue 3, Vuetify 3
- Pinia for state management
- Chart.js for analytics
- FontAwesome icons

### Backend
- Go, GoFiber framework
- Goqu ORM for database operations
- Watermill for message queuing
- JWT authentication

### Infrastructure
- Docker, PostgreSQL, Redis
- MinIO (S3-compatible storage)
- Ory Kratos (identity management)

## Contributing

This project is part of the RSK World educational initiative. We welcome contributions from the community.

For support and inquiries:
- Email: hello@rskworld.in
- Phone: +91 93305 39277
- Website: https://rskworld.in

## License

© 2026 RSK World. All rights reserved.
Content used for educational purposes only.

---

**Developed with ❤️ by RSK World**
