# 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: ```bash git clone https://git.moonleay.net/Websites/liljudd-website.git ``` 2. Install dependencies: ```bash 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=" >> ~/.npmrc pnpm install ``` 3. Set up environment variables: Create a `.env` file in the root directory and add the following variables: ```env 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](https://discord.com/developers/applications/). How to generate your `VITE_AUTH_SECRET` with [`openssl rand -base64 32`](https://authjs.dev/reference/core#secret). Composite your `VITE_DATABASE_URL` like [`postgres://postgres:adminadmin@0.0.0.0:5432/db`](https://orm.drizzle.team/docs/get-started-postgresql#postgresjs). #### 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](https://authjs.dev/reference/nextjs/#redirectproxyurl) 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:** ```bash 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:** ```bash pnpm build ``` - **Start production server:** ```bash pnpm start ``` - **Generate openapi types from specs:** [openapi.json](https://raw.githubusercontent.com/discord/discord-api-spec/main/specs/openapi.json) (from discord-api-spec repo) -> [discord.d.ts](/src/types/discord.d.ts) [liljudd.json](/public/api/specs/liljudd.json) -> [liljudd.d.ts](/src/types/liljudd.d.ts) ```bash 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. ```bash pnpm drizzle-studio ``` - **Docker Container:** ```bash docker build --build-arg FONT_AWESOME_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](LICENSE). Happy splatting! 🦑🎮