Important
This project is no longer maintained and has been archived.
Some integrations and dependencies may not work as expected.
preview.mp4
Mobile Preview
mobile_preview.mp4
Rooms Preview
rooms_preview.mp4
-
Clone the repository
git clone https://github.com/swayam25/Aero aero cd aero -
Create an application at the Discord Developer Portal.

-
Create
.envfile from the provided.env.exampleand fill in the required environment variables.cp .env.example .env
Tip
Check environment variables section for details on the environment variables.
-
Push the database schema to Supabase.
pnpm run db:push
-
Navigate to Table Editor in Supabase Dashboard and enable RLS for all the tables.
-
Navigate to Authentication > Policies in Supabase Dashboard and create policies for all the tables.

-
Navigate to Table Editor in Supabase Dashboard and enable Realtime for
playlist,room&room_membertable.
Note
Check the Supabase Docs for more information on enabling Realtime.
- Docker compose
docker compose up -d
-
Follow first 8 steps from the production section.
-
Install dependencies
pnpm i
-
Start the development server
pnpm run dev
| Variable | Type | Description |
|---|---|---|
PUBLIC_DISCORD_URL |
string |
Discord API base URI |
DATABASE_URL |
string |
Supabase connection string |
VITE_SUPABASE_URL |
string |
Supabase project URL |
VITE_SUPABASE_KEY |
string |
Supabase API Key |
JWT_SECRET |
string |
JWT secret |
DISCORD_CLIENT_ID |
string |
Discord client ID |
DISCORD_CLIENT_SECRET |
string |
Discord client secret |
DISCORD_BOT_TOKEN |
string |
Discord bot token |
SPOTIFY_CLIENT_ID |
string |
Spotify client ID |
SPOTIFY_CLIENT_SECRET |
string |
Spotify client secret |
DOMAIN |
string |
Your domain for the reverse proxy, also used as ORIGIN |
-
Get
DATABASE_URLfrom Supabase. Click on the
button at the top bar.

-
Get
VITE_SUPABASE_URLandVITE_SUPABASE_KEYfrom Supabase API Settings.VITE_SUPABASE_URLVITE_SUPABASE_KEY

- Get
SPOTIFY_CLIENT_IDandSPOTIFY_CLIENT_SECRETfrom the Spotify Developer Dashboard.
- Generate
JWT_SECRETby running the following command.pnpm run gen-secret
- Set
DOMAINto your domain name. The variable is required only in production.DOMAIN="https://<your-domain>.com"
Important
DOMAIN is the URL you will use to access the app.
This dynamically sets ORIGIN during deployment and configures the Caddy server's domain (for the reverse proxy).
Ensure that the domain name matches the Redirect URL in the Discord Developer Portal (see step 4 of the production section).
Check the SvelteKit Docs for more information about the ORIGIN variable.
-
Things to keep in mind
- Follow our commit message convention.
- Write meaningful commit messages.
- Keep the code clean and readable.
- Make sure the app is working as expected.
-
Code Formatting
- Run
pnpm run formatbefore committing your changes or usePrettierextension in your code editor. - Make sure to commit error free code. Run
pnpm run checkto check for any errors.
- Run
-
Check STYLES.md for the CSS style guide.






