diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6596881 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 [creations.works] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 48d4c50..f2a58e4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,87 @@ -# Cool little discord profile page +# Discord Profile Page -E +A cool little web app that shows your Discord profile, current activity, and more. Built with Bun and EJS. + +## Prerequisite: Lanyard Backend + +This project depends on a self-hosted or public [Lanyard](https://github.com/Phineas/lanyard) instance for Discord presence data. + +Make sure Lanyard is running and accessible before using this profile page. + +--- + +## Getting Started + +### 1. Clone & Install + +```bash +git clone https://git.creations.works/creations/profilePage.git +cd profilePage +bun install +``` + +### 2. Configure Environment + +Copy the example environment file and update it: + +```bash +cp .env.example .env +``` + +#### Required `.env` Variables + +| Variable | Description | +|--------------------|--------------------------------------------------| +| `HOST` | Host to bind the Bun server (default: `0.0.0.0`) | +| `PORT` | Port to run the server on (default: `8080`) | +| `LANYARD_USER_ID` | Your Discord user ID | +| `LANYARD_INSTANCE` | Lanyard WebSocket endpoint URL | + +#### Optional Lanyard KV Vars (per-user customization) + +These are expected to be defined in Lanyard's KV store: + +| Variable | Description | +|-----------|-------------------------------------------------------------| +| `snow` | Enables snow background effect (`true`) | +| `rain` | Enables rain background effect (`true`) | +| `readme` | URL to a README file displayed on your profile | +| `colors` | Enables avatar-based color theme (uses `node-vibrant`) | + +--- + +### 3. Start the App + +```bash +bun run start +``` + +Then open `http://localhost:8080` in your browser. + +--- + +## Docker Support + +### Build & Start with Docker Compose + +```bash +docker compose up -d --build +``` + +Make sure your `.env` file is correctly configured before starting. + +--- + +## Tech Stack + +- Bun – Runtime +- EJS – Templating +- CSS – Styling +- node-vibrant – Avatar color extraction +- Biome.js – Linting and formatting + +--- + +## License + +[MIT](/license)