This is a workout tracker app built with Remix, Tailwind, and Drizzle, a PostgreSQL database, deployed via Dockerfile to a my Coolify Server.
- Authentication with Discord and Google
- Create and manage workouts
- View workouts, their activities, and sets
You can access the app at https://aleni.app/
To get started, you'll need to create a new Discord application, Google OAuth Credentials, a PostgreSQL database, and Posthog account.
- Go to the Discord Developer Portal and create a new application.
- Set the redirect URL to
http://localhost:3000/auth/discord/callback
. - Copy the Client ID and Client Secret.
- Go to https://developers.google.com/identity/protocols/oauth2/web-server#creatingcred and create a new OAuth client ID.
- Set the redirect URI to
http://localhost:3000/auth/google/callback
. - Copy the Client ID and Client Secret.
- Go to https://app.posthog.com/account/api-keys and create a new API key.
- Copy the API key.
- Add the API key and POSTHOG_HOST to the
.env
file.
Create a new PostgreSQL database and add the following environment variables:
DATABASE_URL=""
# Install dependencies
pnpm i
# There is an `.env.example` in the root directory you can use for reference
cp .env.example .env
# Push the Drizzle schema to the database
pnpm db:push
Run the following command to start the development server:
pnpm run dev
Open http://localhost:5173 in your browser to access the app.
You can deploy the app via the Dockerfile or any other hosting provider that supports Node.js and Remix.