FriendConstellation is a Starboard web app.
The admin (Called a Starmaster) can create a list of players, 'Champions', and a list of tasks. Each task is worth a certain amount of stars.
The Starmaster reviews the Competitor's attempts at the tasks and awards stars accordingly.
- Champion Leaderboard
- Task board
- Champion Logs (Got 5 stars for completing XYZ)
- Discord Webhook integration
- Admin Panel
Pre-requisites
- Node.js
- PostgreSQL
- Docker
Setup
- Clone the repository
- Run
npm install - Copy
.env.exampleto.envand fill in the required values:
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"
ADMIN_PASSWORD="password"
- Migrate the database with
npm run db:migrate - Start the server with
npm run dev
FriendConstellation has a container build run on every push to the master branch.
I personally host this container and automatically deploy it to my server through Watchtower.
If you wish to deploy it yourself, you can follow the steps below:
Pre-requisites
- Docker
- Docker Compose
- Start Starboard and the database with
docker-compose up -dordocker compose up -ddepending on how Compose was installed
Pre-requisites
- Node.js
- PostgreSQL
- Clone the repository
- Run
npm install - Copy
.env.exampleto.envand fill in the required values:
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"
ADMIN_PASSWORD="password"
- Migrate the database with
npm run db:migrate - Build the app with
npm run build - Start the server with
node build
FriendConstellation is licensed under the GNU General Public License v3.0