No description
Find a file
2024-02-02 19:31:53 +01:00
public feat: complete last commit 2024-01-16 20:24:48 +01:00
src Fix: ref is undefined 2024-02-02 19:31:53 +01:00
.dockerignore Add docker 2024-01-05 01:29:42 +01:00
.eslintrc.json chore: squashed some commits, which are not for public viewing 2024-01-05 01:29:38 +01:00
.gitignore chore: squashed some commits, which are not for public viewing 2024-01-05 01:29:38 +01:00
.prettierrc.json chore: squashed some commits, which are not for public viewing 2024-01-05 01:29:38 +01:00
discord_client_testing.http feat: complete last commit 2024-01-16 20:24:48 +01:00
Dockerfile chore: Create Readme 2024-01-16 23:57:40 +01:00
drizzle.config.ts feat: complete last commit 2024-01-16 20:24:48 +01:00
package.json chore: Create Readme 2024-01-16 23:57:40 +01:00
pnpm-lock.yaml feat: complete last commit 2024-01-16 20:24:48 +01:00
README.md Refactor: Update README, NavBar, Drizzle schema, and environment types 2024-01-29 10:49:29 +01:00
sample_conf.json chore: squashed some commits, which are not for public viewing 2024-01-05 01:29:38 +01:00
tsconfig.json feat: complete last commit 2024-01-16 20:24:48 +01:00
vite.config.ts chore: squashed some commits, which are not for public viewing 2024-01-05 01:29:38 +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 lil-judd
    
    # 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=your_discord_client_id
    VITE_DISCORD_CLIENT_SECRET=your_discord_client_secret
    VITE_DISCORD_BOT_TOKEN=your_discord_bot_token
    VITE_DISCORD_BOT_PERMISSIONS=18977581952080
    
    VITE_AUTH_SECRET=your_auth_secret
    
    VITE_DATABASE_URL=your_database_url
    

Recieve your discord applications client id & secret, as well as the bot token from the Applications dashboard.

How to generate your VITE_AUTH_SECRET with openssl rand -base64 32.

Composite your VITE_DATABASE_URL like postgres://postgres:adminadmin@0.0.0.0:5432/db.

Development

Specify VITE_AUTH_REDIRECT_PROXY_URL only if necessary, particularly when setting up a reverse proxy to test authentication with callbacks to your development box. Auth.js Docs Reference

The duplicate DATABASE_URL is only needed for Drizzle Studio.

VITE_AUTH_REDIRECT_PROXY_URL=your_auth_redirect_proxy_url

DATABASE_URL=your_database_url

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! 🦑🎮