thunderbird / appointment

Invite others to grab times on your calendar. Choose a date. Make appointments as easy as it gets.
https://appointment.day
Mozilla Public License 2.0
228 stars 8 forks source link

Thunderbird Appointment

[!IMPORTANT]
Thunderbird Appointment is in a beta state, so be prepared to encounter bugs

Invite others to grab times on your calendar. Choose a date. Make appointments as easy as it gets.

Feedback and Support

If you'd like to give feedback or need support, please see our Topicbox.

Get started

You can either build preconfigured docker containers (database, backend and frontend) or manually set up the application. A more detailed documentation can be found in the docs folder.

With Docker

This is the recommended and only supported method of developing Thunderbird Appointment.

git clone https://github.com/thunderbird/appointment
cp appointment/backend/.env.example appointment/backend/.env
cp appointment/frontend/.env.example appointment/frontend/.env
cd appointment
docker-compose up -d --build

A MySQL database will be accessible via localhost:3306 with username and password set to: tba

On first-run the database will initialize, and a first time setup command will be triggered. Going forward database migrations will automatically run on docker-compose up.

Contributing

Contributions are very welcome. Please lint/format code before creating PRs.

Check out the project's respective readmes:

Localization

This project uses Fluent for localization. Files are located in their respective l10n/<locale>/*.ftl.

Self-hosting

More information is coming soon! If you're adventurous follow the setup steps in each project. Once the project is running the first login will create a new user, any login attempts with new emails after that will check against existing credentials.

Deployment

When changes are merged to main, a new release is cut, and the changes are deployed to stage.appointment.day.

After you've checked staging and it's ready to push to production, edit the release entry, and press the 'Publish release' button.