2024-01-16 21:09:00 +00:00
# li'l Judd - Competitive Splatoon Bot
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
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.
2023-11-09 12:26:24 +00:00
2024-01-16 21:09:00 +00:00
## Features
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
- **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.
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
## Getting Started
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
To get started with li'l Judd, follow the instructions below.
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
### Prerequisites
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
- 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)
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
### Installation
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
1. Clone the repository:
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
```bash
git clone https://git.moonleay.net/Websites/liljudd-website.git
```
2023-10-18 15:58:15 +00:00
2024-01-16 21:09:00 +00:00
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=< YOUR_TOKEN > " >> ~/.npmrc
pnpm install
```
3. Set up environment variables:
Create a `.env` file in the root directory and add the following variables:
```env
2024-02-18 21:02:52 +00:00
VITE_DISCORD_CLIENT_ID=your_discord_client_id
2024-01-16 21:09:00 +00:00
VITE_DISCORD_CLIENT_SECRET=your_discord_client_secret
VITE_DISCORD_BOT_TOKEN=your_discord_bot_token
2024-03-01 19:50:11 +00:00
VITE_DISCORD_OAUTH2_PERMISSIONS=18977581952080
2024-01-16 21:09:00 +00:00
VITE_AUTH_SECRET=your_auth_secret
VITE_DATABASE_URL=your_database_url
```
2024-02-18 21:02:52 +00:00
Recieve your discord applications `CLIENT_ID` & `CLIENT_SECRET` , as well as the bot token from the [Applications dashboard ](https://discord.com/developers/applications/ ).
2024-01-16 21:09:00 +00:00
2024-02-18 21:02:52 +00:00
Your `VITE_AUTH_REDIRECT_URL` should look like this: `https://<hostname>/api/auth/callback/discord` .
2024-01-16 21:09:00 +00:00
2024-01-29 09:49:29 +00:00
Composite your `VITE_DATABASE_URL` like [`postgres://postgres:adminadmin@0.0.0.0:5432/db` ](https://orm.drizzle.team/docs/get-started-postgresql#postgresjs ).
2024-01-16 21:09:00 +00:00
2024-01-29 09:49:29 +00:00
#### Development
2024-01-16 21:09:00 +00:00
2024-01-29 09:49:29 +00:00
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
```
2024-01-16 21:09:00 +00:00
### 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=< 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
2024-01-29 09:49:29 +00:00
This project is licensed under the [GPL v3 License ](LICENSE ).
2024-01-16 21:09:00 +00:00
Happy splatting! 🦑🎮