Skip to content

Repository files navigation

kinoimblauensalon.de

Website for the cinema "Kino im Blauen Salon" in HfG Karlsruhe based on Remix and PayloadCMS. The website is showcasing future and past screening events. The CMS is used to manage the events, featuring an import function to import movie metadata from TMDB.

Features

  • Showcase upcoming and past events
  • Import movie metadata from TMDB
  • HTML email newsletter generation
  • PDF press release generation
  • .ics calendar files for events

Development

Make sure to create a .env file in the project root similar to the .env.example file. You will need a TMDB API key to fetch movie data and a Listmonk installation to manage your subscribers and send newsletters.
The S3 configuration is optional, not needed for development.

pnpm i
pnpm dev
# frontend is running on localhost:5173
# cms is running on localhost:3000

# to seed the database (will fetch some movie data from TMDB, make sure you have your api key in the .env)
pnpm seed

Deployment

Both apps are deployed on fly.io from the monorepo root using root-level app-specific config files:

fly deploy . --config fly.backend.toml
fly deploy . --config fly.frontend.toml

Listmonk Integration

The mailings collection is integrated with the Listmonk installation. To set it up, install listmonk, create a list for your subscribers and set up an API user in the listmonk admin panel with the following campaigns:manage permission. Populate your .env with:

  • LISTMONK_URL: the root URL of your listmonk installation, e.g. https://listmonk.example.com
  • LISTMONK_API_KEY: consists of the API user's name and token, e.g. api-user:api-token
  • LISTMONK_LIST_ID: the ID of your subscribers list

For your frontend's signup form, you will also need:

  • LISTMONK_LIST_UUID: the UUID of your subscribers list

Releases

Packages

Used by

Contributors

Languages