public | ||
src | ||
.dockerignore | ||
.eslintrc.json | ||
.gitignore | ||
.prettierrc.json | ||
discord_client_testing.http | ||
Dockerfile | ||
drizzle.config.ts | ||
package.json | ||
pnpm-lock.yaml | ||
README.md | ||
tsconfig.json | ||
vite.config.ts |
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
-
Clone the repository:
git clone https://git.moonleay.net/Websites/liljudd-website.git
-
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
-
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_BOT_PERMISSIONS=18977581952080 VITE_AUTH_SECRET=your_auth_secret VITE_DATABASE_URL=your_database_url
Recieve your discord applications CLIENT_ID
& CLIENT_SECRET
, as well as the 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://postgres:adminadmin@0.0.0.0:5432/db
.
Development
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
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! 🦑🎮