Skip to content

dotkom/vengeful-vineyard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

550 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Vengeful Vineyard

🍷 Welcome to Vengeful Vineyard! 😠

Description

This project was created for the sole purpose of πŸ’₯ punishing members in the student organization Online Linjeforening whenever they fail to perform their respective tasks.

Their failure shall be documented on our page as a 'vinstraff' (wine punishment). The old and outdated version can be found here: RedWine.

Project Status

The project is finished πŸŽ‰

It is currently being maintained by Dotkom from the Online student association.

The link to the page is: Vengeful Vineyard

Tech Stack

Frontend

Backend


Getting Started (Local Development)

Note: Running locally requires all three services: Online Web (monoweb), Backend, and Frontend. The frontend authenticates users through Online Web, and requires the backend API to function.

Prerequisites

Make sure you have the following installed:

Step 1: Set up Doppler

We use Doppler to manage secrets.

doppler login
doppler setup
# Select: vengeful-vineyard, dev

Step 2: Set up Online Web (Authentication)

The frontend uses Online Web (monoweb) for user authentication. You need to run it locally.

  1. Clone and set up monoweb by following the instructions at: https://github.com/dotkom/monoweb

  2. To get started quickly with test data, run:

    doppler login
    doppler setup
    docker compose up -d
    pnpm install
    pnpm migrate:dev 
    pnpm vinstraff:user-db-sync
    pnpm dev

Step 3: Start the Backend

The backend must be running before starting the frontend.

cd backend
make dev

This starts the FastAPI server with PostgreSQL using Docker Compose.

Syncing Production Data (Optional)

If you have Doppler access to production, you can sync the production database to your local environment (while backend is running):

cd backend
make db-sync

Step 4: Start the Frontend

cd frontend
pnpm install
doppler run pnpm dev

The frontend will be available at: http://localhost:5173 (or similar)


Contributing

Please take a look at our issues if you want to contribute to this project. Pull requests are welcome!

Before contributing, make sure to install pre-commit hooks:

# Install pre-commit if you don't have it
pip install pre-commit
# or
brew install pre-commit

# Install the hooks
pre-commit install

Deployment

To deploy changes to AWS, you need the AWS CLI installed and configured. Ask Dotkom for credentials to create an IAM user for you.

AWS Setup

# Install AWS CLI, then configure
aws sso login --profile dotkom

Backend Deployment

cd backend
make deploy-prod
# Or with profile:
make deploy-prod PROFILE=dotkom

Then go to the Terraform monorepo (staging/vengeful-vineyard or prod/vengeful-vineyard directory):

You will also need the DOPPLER_TOKEN_ALL token from here

terraform init
# Or: AWS_PROFILE=dotkom terraform init

doppler run --project vengeful-vineyard --config prd -- terraform apply
# Or: AWS_PROFILE=dotkom doppler run --project vengeful-vineyard --config prd -- terraform apply

Frontend Deployment

doppler login
doppler setup  # Select vengeful-vineyard, dev

cd frontend
pnpm run deploy:prod
# Or with profile:
pnpm run deploy:prod -- --profile=dotkom

Troubleshooting

Database Issues

If you encounter database issues, try resetting the local database:

cd backend
rm -rf postgres-data
docker-compose up --build

Authentication Issues

Make sure Online Web (monoweb) is running on the expected port and that you're logged in there first before accessing Vengeful Vineyard.

About

Vinstraff.no 🍷

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors