Skip to content

ilmarikyl/semanttuli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semanttuli / Meaningle

Svelte SvelteKit TypeScript Tailwind CSS MongoDB Docker Fly.io

A word guessing game based on Semantle, available in Finnish (Semanttuli) and English (Meaningle). The game was originally created as a Finnish version (Semanttuli) and later expanded to support English.

🌐 Live Applications:

🚀 Getting Started

Prerequisites

This application requires:

  • A MongoDB database containing word vectors and similarity scores for the chosen language
  • Node.js 20 or later

Environment Setup

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

MONGO_CONNECTION_STRING=your_mongodb_connection_string
VITE_LANGUAGE=fi|en    # Language selection for local development

Local Development

Option 1: npm

  1. Install dependencies:

    npm i
    
  2. Run the development server:

    npm run dev
    

    The app will be available at http://localhost:5173

Option 2: Docker

  1. Build and run using Docker Compose:
    docker-compose up --build
    
    The app will be available at http://localhost:8080

🚢 Deployment

The application is deployed to two separate instances on Fly.io, one for each language. Deployment is done manually using:

VITE_LANGUAGE=<LANGUAGE> flyctl deploy --config fly.<LANGUAGE>.toml

🧰 Technologies

  • Framework: SvelteKit
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Database: MongoDB
  • Containerization: Docker
  • Hosting: Fly.io

🏛️ Legacy Version

The previous version of Semanttuli (Finnish only) is still available:

📝 License

This project is MIT licensed.