Skip to content

s-hc/LOLDoku

Repository files navigation


Valo Bot Banner

Immaculate Grid: League of Legends Edition


React TypeScript React Zustand Node.js Express.js Tailwind CSS PostgreSQL Prisma MongoDB Mongoose Jest React Testing Library

AboutScreenshotsFeaturesGame RulesInstallation GuideScriptsSchemaLicense


About

LOLDoku is an open source spin on the classic Immaculate Grid using champions from the popular MOBA game League of Legends. The goal of the game is to fill in the 3x3 grid with answers that match the clues given. New puzzles are generated daily, and users can sign in (OAuth2.0) to access their stats.

Important

LOLDoku is not endorsed by Riot Games and does not reflect the views or opinions of Riot Games or anyone officially involved in producing or managing Riot Games properties. Riot Games and all associated properties are trademarks or registered trademarks of Riot Games, Inc.

Screenshots

Click to view Images
Rules Modal:
rules
Interface:
interface

Click to view GIFs
Google OAuth:
Google OAuth gif
Selection:
Selection gif

Features

• Secure GitHub and Google sign in! Sign in with your Google account.

• Dark Mode! Enjoy LOLDoku in your light or dark theme of choice.

• Daily puzzles! New unique puzzles are generated daily at midnight PST.

• If you run into any bugs or have feedback: spartanhackers0+loldoku@gmail.com

Installation Guide

  1. Fork the LOLdoku repository to your own GitHub account.
  2. Clone the repository to your local environment.
git clone https://github.com/<your-github-username>/LOLDoku.git
  1. Navigate to the root project directory and install dependencies
cd LOLDoku
npm install
  1. Please look through the package.json file to see what scripts are available. Any script can be run with npm run <scriptname>. To run application in development, run the following command:
npm run dev
  1. Please look at the terminal logs to see what port the application is running on.

Scripts

The scripts section of the package.json file define various commands to streamline development and deployment processes. The following is an overview of each script:

  • dev For development purposes. Compiles TypeScript code and concurrently runs Vite dev server for front-end and Nodemon for back-end. Allows for real-time reloading during development.

  • start Used for running application in production-like environment. Compiles TypeScript code and starts server using Nodemon, which will automatically restart server if any changes are detected in server files.

  • test Runs Jest test runner in watch mode, continuously monitoring for any changes in .test.ts/.test.tsx files and re-runs tests as needed. Useful during development for immediate feedback on code changes.

  • build Triggers Vite build process for front-end application. Compiles and bundles React application into static files optimized for production.

  • build:watch Runs TypeScript compiler in watch mode, continuously monitoring for any changes in .ts/.tsx files and recompiles them as needed. Useful during development for immediate feedback on code changes.

  • preview Locally preview production build of front-end application. Serves static files generated by Vite build command, allowing local testing of production build before deployment.

  • migrate Runs Prisma migration commands to update database schema. Useful for updating database schema after making changes to Prisma models.

Schema

schema

License

This project is licensed under the terms of the MIT LICENSE