No description
Find a file
2024-03-30 22:20:18 +01:00
.github/workflows Fix: Add testing 2024-03-01 20:50:11 +01:00
e2e refactor: Update time planning feature 2024-03-15 10:59:41 +01:00
public refactor: Update time planning feature 2024-03-15 10:59:41 +01:00
src chore: fixed suspense the right way 2024-03-30 22:20:18 +01:00
.dockerignore Add docker 2024-01-05 01:29:42 +01:00
.eslintrc.json Fix: Finished Backend 2024-02-26 21:46:33 +01:00
.gitignore Fix: Using bigint and added backend testing 2024-03-10 17:12:50 +01:00
.prettierrc.json chore: squashed some commits, which are not for public viewing 2024-01-05 01:29:38 +01:00
add-test-server.http feat: Finished saving functionality for dashboard 2024-03-18 16:24:00 +01:00
app.config.ts Chore: solid-start 0.6.0 2024-02-28 22:00:19 +01:00
Dockerfile chore: Create Readme 2024-01-16 23:57:40 +01:00
drizzle.config.ts Unfinished 2024-02-18 22:02:52 +01:00
kill-running-server.sh refactor: Update time planning feature 2024-03-15 10:59:41 +01:00
package.json Chore: Update packages 2024-03-10 17:15:20 +01:00
playwright.config.ts Fix: Add testing 2024-03-01 20:50:11 +01:00
pnpm-lock.yaml Chore: Update packages 2024-03-10 17:15:20 +01:00
README.md chore: Updated README and env types 2024-03-28 16:59:16 +01:00
tsconfig.json feat: complete last commit 2024-01-16 20:24:48 +01:00

li'l Judd - Competitive Splatoon Bot

Welcome to li'l Judd, your go-to bot for enhancing your competitive Splatoon experience! Whether you're looking for match statistics, team coordination, or general Splatoon information, li'l Judd has got you covered.

Features

  • Match Statistics: Track and analyze your Splatoon matches to improve your gameplay.
  • Team Coordination: Plan strategies and coordinate with your team more effectively.
  • General Splatoon Information: Get information about weapons, maps, and game updates.

Getting Started

To get started with li'l Judd, follow the instructions below.

Prerequisites

  • Node.js and pnpm installed (pnpm is strongly recommended for local development)
  • Docker (optional, for containerized deployment)
  • A Font Awesome subscription (required for the paid version used)

Installation

  1. Clone the repository:

    git clone https://git.moonleay.net/Websites/liljudd-website.git
    
  2. Install dependencies:

    cd liljudd-website
    
    # Install pnpm if not already installed
    npm i -g pnpm
    
    # Add token to authenticate when using installing Font Awesome packages
    echo "@fortawesome:registry=https://npm.fontawesome.com/" > ~/.npmrc
    echo "//npm.fontawesome.com/:_authToken=<YOUR_TOKEN>" >> ~/.npmrc
    
    pnpm install
    
  3. Set up environment variables:

    Create a .env file in the root directory and add the following variables:

    VITE_DISCORD_CLIENT_ID=your_discord_client_id
    VITE_DISCORD_CLIENT_SECRET=your_discord_client_secret
    VITE_DISCORD_BOT_TOKEN=your_discord_bot_token
    VITE_DISCORD_OAUTH2_PERMISSIONS=18977581952080
    VITE_AUTH_REDIRECT_URL=your_redirect_url
    VITE_DATABASE_URL=your_database_url
    

    Recieve your discord applications CLIENT_ID, CLIENT_SECRET & BOT_TOKEN from the Applications dashboard.

    Your VITE_AUTH_REDIRECT_URL should look like this: https://<hostname>/api/auth/callback/discord.

    Composite your VITE_DATABASE_URL like postgres://username:password@hostname:5432/databasename.

    Development

    The duplicate DATABASE_URL is only needed for Drizzle Studio.

    # Drizzle Studio & Tests
    DATABASE_URL=your_database_url
    
    #Tests
    VITE_DISCORD_CLIENT_ID=your_discord_client_id
    VITE_DISCORD_CLIENT_SECRET=your_discord_client_secret
    VITE_DISCORD_BOT_TOKEN=your_discord_bot_token
    

Usage

  • Run development server:

    pnpm dev
    # Use --host if you have set up a reverse proxy to test auth with callback to your dev box
    pnpm dev --host
    
  • Build for production:

    pnpm build
    
  • Start production server:

    pnpm start
    
  • Generate openapi types from specs:

    openapi.json (from discord-api-spec repo) -> discord.d.ts

    liljudd.json -> liljudd.d.ts

    pnpm discord-openapi-gen
    pnpm liljudd-openapi-gen
    

    Drizzle Studio:

    Explore the database with ease through the intuitive web-based interface of Drizzle Studio, offering a visual and user-friendly way to interact with the data behind the scenes.

    pnpm drizzle-studio
    
  • Docker Container:

    docker build --build-arg FONT_AWESOME_TOKEN=<YOUR_TOKEN> -t $image_name .
    

Contributing

If you'd like to contribute to li'l Judd, feel free to open an issue or submit a pull request. Your contributions are highly appreciated!

License

This project is licensed under the GPL v3 License.

Happy splatting! 🦑🎮