← ProjectsWEBSITE · 2026-05-24

ELEMES

  • vite
  • react
  • postgresql
  • docker
ELEMES

A modern examination platform built with TanStack Start and Mantine UI

README · hilmoo/elemes

ELEMES

elemes logo

LMS but only the exam part :D

A modern examination platform built with TanStack Start and Mantine UI

[!IMPORTANT]
This app was built solely for my course project and is not intended for production use. I developed it in about two weeks, so it may contain some bugs and has not been fully tested.

🚀 Quick Start

The easiest way to get started is using the provided DevContainer configuration:

  1. Prerequisites:

  2. Open in DevContainer:

    • Press Ctrl+Shift+P (or Cmd+Shift+P on Mac)
    • Select “Dev Containers: Clone Repository in Container Volume”
    • Wait for the container to build and start

[!IMPORTANT] When running the DevContainer for the first time, you may encounter an error because the .env file is not yet present. Create a .env file first inside the recovery container (you can use .env.example as a template).

  1. Start development:
    npm run dev

The development server will be available at http://localhost:3000

🐳 Production Deployment

See compose.yml for the production setup.

Deploy with:

docker-compose up -d

🛠️ Development

Database Migrations

see migrate guide for details on how to manage database migrations.

Project Structure

├── src/
│   ├── components/          # Reusable UI components
│   ├── routes/             # File-based routing
│   ├── lib/                # Utilities and configurations
│   ├── mantine/            # Mantine theme customization
│   └── types/              # TypeScript type definitions
├── migrations/             # Database migrations
├── public/                 # Static assets
├── .devcontainer/          # DevContainer configuration
└── scripts/                # Build and deployment scripts

📦 Tech Stack

  • Framework: TanStack Start
  • UI Library: Mantine
  • Database: PostgreSQL
  • Authentication: Better Auth
  • Styling: PostCSS with Mantine
  • TypeScript: Full type safety
  • Package Manager: npm

📝 License

This project is open-sourced software licensed under the MIT License.

🙏 Acknowledgments

esc