flowcore-io / luttaka-open

The open source event experience app powered by the Flowcore Data Management Platform
https://luttaka.com
MIT License
11 stars 11 forks source link

Luttaka is an open source application to manage tickets, networking and content at events. You can either use the official instance at luttaka.com, or deploy your own instance.

Basic features for event participants

Basic features for event administrators

Potential future modules

Stack

Contribute

The project is open to contributions. Feel free to open an issue or even a pull-request! You can read mode about our contribution guidelines in here.

Contact

If you have any questions, concerns, or suggestions, please reach out to us through one of the following channels:

Prerequisites

To run the application locally, there are a couple of things that you need to have installed:

Node.js

In order to run the project, you will need to have Node.js installed. We recommend installing it through nvm. You will need Node.js version 20.11.0 or higher.

yarn

We use yarn as our package manager. You can install it by running npm install -g yarn.

Docker Desktop (optional, but recommended)

We utilise docker to run the Postgres database locally. You can install Docker Desktop from here. This is not a requirement, but we recommend always running a database in a container - and as such, we assume that you have Docker installed in the instructions below.

Flowcore Account

Because the app uses Flowcore as its backend, you will need to set up a free account at Flowcore. You can read up on the basics here

Flowcore CLI

To improve the development experience, we use the Flowcore CLI. This tool is used for both scaffolding the project on your flowcore account, as well as stream the data from flowcore to your local database. Run the following to install the flowcore cli:

npm install -g @flowcore/cli

Clerk

The application uses Clerk for authentication. Therefore, you need to create an account and create a new Clerk application, followed by obtaining the environment credentials that connects this project to your clerk application.

Tenants

Your tenant is part of the url when you go to your organization in the Flowcore Platform. For example, if you go to https://flowcore.io/flowcore, then flowcore is your tenant. You can also see the tenant where you select between your active organizations in the top left corner of the UI.

Run the project locally

To run the application locally, you will need to create the datacore and scenarios required for the application to work. You can use the Flowcore CLI to create the datacore and scenarios, or you can use the Flowcore Platform to create them manually.

then copy the flowcore.local.example.yaml file to flowcore.local.yaml and fill in the missing information. Then you can run the following command to spin up an environment for development:

yarn flowcore:dev

this will create the required resources in the Flowcore Platform, inside your tenant.

Requires the Flowcore CLI version 2.5.0 or higher. Production can be created with yarn flowcore:prod The command that is run under the hood for dev is flowcore create -f flowcore.yaml -f flowcore.local.yaml

The first user to login gets admin privileges.

Note: The -s now flag is used to stream from now on. If you want to stream from a specific time, you can use the -s 1d flag. Consult the flowcore docs for more information.

Note: The local:stream command uses the flowcore.local.development.yaml file to configure what streams to start and where to send the events for each stream. You can read more about the configuration here

License

The license is MIT. You can read more about it here