CubeIndex Svelte Themes

Cubeindex

A database website for everything related to cubing.

CubeIndex

CubeIndex is a web app for speedcubers to track, explore, and manage their cube collections. Whether you're into speedcubes or collectibles, CubeIndex helps you organize and showcase your cubes with ease.

๐Ÿง  Tech Stack

  • Frontend: SvelteKit, Tailwind CSS
  • Backend: Supabase (PostgreSQL), Drizzle ORM
  • Auth: Custom session-based authentication
  • i18n: Inlang for multi-language support
  • Tooling: TypeScript, ESLint, Vitest, Vite

๐Ÿ—‚ Project Structure

  • src/routes/ โ€“ Pages and endpoints
  • src/lib/components/ โ€“ UI components
  • src/lib/server/db/ โ€“ Drizzle schema and DB access
  • src/lib/server/auth.ts โ€“ Custom auth logic
  • messages/ โ€“ Translations (i18n)

๐Ÿ›  Setup Instructions

  1. Clone the Repo

    git clone https://github.com/Saterz/CubeIndex.git
    cd CubeIndex
    
  2. Install Dependencies

    npm install
    
  3. Configure Environment

    cp .env.example .env
    

    Update .env with your DATABASE_URL (e.g. from Supabase).

  4. Set Up Database

    npm run db:push
    
  5. Start the Dev Server

    npm run dev
    

Visit http://localhost:5173

๐Ÿงช Running Tests

Run all tests:

npm run test

Watch mode:

npm run test:unit

Lint your code:

npm run lint

๐Ÿค Contributing

We welcome contributions! Here's how to get started:

  • Fork & branch off developer
  • Use clear names like feature/add-cube-model
  • Follow code style (TypeScript, ESLint)
  • Add tests for new features
  • Commit clearly (e.g. fix: login bug)
  • Open a PR with description and context
  • Reference issues when applicable (e.g. Closes #12)
  • Chat with us on Discord for guidance

๐Ÿงฉ Contribution Example

git checkout -b feature/my-feature
# Make your changes
npm run lint && npm run test
git commit -m "feat: add new feature"
git push origin feature/my-feature

Then open a Pull Request to developer on GitHub.

๐Ÿ‘ฅ Community & Support

  • Join us on Discord
  • Create issues for bugs or feature ideas
  • Check the docs/comments for guidance

๐Ÿ“„ License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.


Thanks for helping build CubeIndex! ๐ŸงŠ

Top categories

Loading Svelte Themes