Skip to content

EVE-KILL/Thessia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thessia - EVE-KILL Application

License: MIT Build Status Dependency Status Translation Status Powered by Bun

A modern application for EVE Online killmail tracking and analysis, built with Nuxt 3, MongoDB, Redis, and BullMQ.

🛠️ Tech Stack

  • Frontend & Backend: Nuxt 3 (Vue 3 & Nitro)
  • UI Components: Nuxt/UI
  • Database: MongoDB (via Mongoose)
  • Caching: Redis (via ioredis)
  • Job Processing: BullMQ
  • Package Manager: Bun
  • Search Engine: Meilisearch
  • Containerization: Docker
  • Orchestration: Kubernetes

📋 Prerequisites

  • Bun (required)
  • MongoDB
  • Redis
  • Meilisearch
  • Docker & Docker Compose (for containerized deployment)
  • Kubernetes (for k8s deployment)

🚀 Installation

Clone the repository and install dependencies:

# Clone the repository
git clone https://github.com/eve-kill/Thessia.git
cd Thessia

# Install dependencies with Bun
bun install

⚙️ Configuration

Create a .env file in the project root with the following variables:

# Database Configuration
MONGO_URI=mongodb://localhost:27017/thessia
REDIS_URI=localhost
REDIS_PORT=6379
REDIS_DB=0
MEILISEARCH_URI=http://localhost:7700

# EVE Online API
ESI_URL=https://esi.evetech.net/
ESI_RATE_LIMIT=25
EVE_CLIENT_ID=your-client-id
EVE_CLIENT_SECRET=your-client-secret
EVE_CLIENT_REDIRECT=http://localhost:3000/auth/callback
### Development
EVE_CLIENT_ID_DEV=your-client-id-dev
EVE_CLIENT_SECRET_DEV=your-client-secret-dev
EVE_CLIENT_REDIRECT_DEV=http://localhost:3000/auth/callback

# RedisQ
REDISQ_ID=your-redisq-id

# Discord webhooks
BACKEND_DISCORD_URL=your-backend-discord-url

🧪 Development

Start the development server on http://localhost:3000:

bun run dev

For debugging with inspector:

bun run debug

🔨 Building for Production

Build the application for production:

bun run build

Preview the production build locally:

bun run preview

🐳 Deployment with Docker Compose

The application can be easily deployed using Docker Compose:

# Start all services
docker compose up -d

# View logs
docker compose logs -f

# Stop all services
docker compose down

☸️ Kubernetes Deployment

For production environments, you can deploy Thessia using Kubernetes:

# Apply the Kubernetes configuration
kubectl apply -k k8s/

# Check deployment status
kubectl get pods -n eve-kill

🔄 CI/CD

This project uses GitHub Actions for continuous integration and delivery:

  • Automated builds on push to the main branch
  • Container image publishing to GitHub Container Registry
  • Vulnerability scanning with Trivy

🌐 Internationalization

Thessia supports multiple languages through Transifex:

  • Contribute translations: Transifex Project
  • Localization files are stored in i18n/locales/

🔐 Security

We use Dependabot to maintain dependency security:

  • Weekly security updates for npm packages
  • Weekly updates for GitHub Actions
  • Automated pull requests for updates

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.