From a5ad66ab4dba0b6a945962bdbfe524b95832cf06 Mon Sep 17 00:00:00 2001 From: M0rfes Date: Tue, 7 Jun 2022 16:09:21 +0530 Subject: [PATCH] updated docs to have port --- README.md | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index a736d17c..8a3dfda6 100644 --- a/README.md +++ b/README.md @@ -3,24 +3,26 @@ # Nettu scheduler + [![MIT licensed](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Release](https://github.com/fmeringdal/nettu-scheduler/actions/workflows/release.yml/badge.svg)](https://github.com/fmeringdal/nettu-scheduler/actions/workflows/release.yml) [![codecov](https://codecov.io/gh/fmeringdal/nettu-scheduler/branch/master/graph/badge.svg?token=l5z2mzzdHu)](https://codecov.io/gh/fmeringdal/nettu-scheduler) ## Overview -`Nettu scheduler` is a self-hosted calendar and scheduler server that aims to provide the building blocks for building calendar / booking apps with ease. It has a simple REST API and also a [JavaScript SDK](https://www.npmjs.com/package/@nettu/sdk-scheduler) and [Rust SDK](https://crates.io/crates/nettu_scheduler_sdk). +`Nettu scheduler` is a self-hosted calendar and scheduler server that aims to provide the building blocks for building calendar / booking apps with ease. It has a simple REST API and also a [JavaScript SDK](https://www.npmjs.com/package/@nettu/sdk-scheduler) and [Rust SDK](https://crates.io/crates/nettu_scheduler_sdk). It supports authentication through api keys for server - server communication and JSON Web Tokens for browser - server communication. ## Features + - **Booking**: Create a `Service` and register `User`s on it to make them bookable. - **Calendar Events**: Supports recurrence rules, flexible querying and reminders. - **Calendars**: For grouping `Calendar Event`s. - **Freebusy**: Find out when `User`s are free and when they are busy. - **Integrations**: Connect your Nettu, Google and Outlook calendars -- **Multi-tenancy**: All resources are grouped by `Account`s. -- **Metadata queries**: Add key-value metadata to your resources and then query on that metadata +- **Multi-tenancy**: All resources are grouped by `Account`s. +- **Metadata queries**: Add key-value metadata to your resources and then query on that metadata - **Webhooks**: Notifying your server about `Calendar Event` reminders.
@@ -31,17 +33,20 @@ It supports authentication through api keys for server - server communication an ## Quick start -The server is using PostgreSQL for persistence, so we will need to spin up that first: +The server is using PostgreSQL for persistence, so we will need to spin up that first: + ```bash cd scheduler docker-compose -f integrations/docker-compose.yml up -d ``` Now we are ready to start the `nettu-scheduler` server with `cargo` + ```bash cd scheduler export ACCOUNT_API_KEY="REPLACE_ME" export DATABASE_URL="postgresql://postgres:postgres@localhost:5432/nettuscheduler" +export PORT="3000" cargo run ``` @@ -49,6 +54,7 @@ The `ACCOUNT_API_KEY` environment variable is going to create an `Account` (if i server startup with the given key. `Account`s act as tenants in the server, and it is possible to create multiple `Account`s by using the `CREATE_ACCOUNT_SECRET_CODE` which you can provide as an environment variable. Quick example of how to create and query a user + ```bash export SECRET_API_KEY="REPLACE ME WITH YOUR API KEY" @@ -61,17 +67,15 @@ curl -H "x-api-key: $SECRET_API_KEY" "http://localhost:5000/api/v1/user/meta?key Please see below for links to more examples. - ## Examples -* [Calendars and Events](examples/calendar-events.md) - -* [Booking](examples/booking.md) +- [Calendars and Events](examples/calendar-events.md) -* [Reminders](examples/reminders.md) +- [Booking](examples/booking.md) -* [Creating JWT for end-users](examples/jwt.md) +- [Reminders](examples/reminders.md) +- [Creating JWT for end-users](examples/jwt.md) ## Contributing @@ -79,9 +83,9 @@ Contributions are welcome and are greatly appreciated! ## License -[MIT](LICENSE) +[MIT](LICENSE) ## Special thanks -* [Lemmy](https://github.com/LemmyNet/lemmy) for inspiration on how to use cargo workspace to organize a web app in rust. -* [The author of this blog post](https://www.lpalmieri.com/posts/2020-09-27-zero-to-production-4-are-we-observable-yet/) for an excellent introduction on how to do telemetry in rust. +- [Lemmy](https://github.com/LemmyNet/lemmy) for inspiration on how to use cargo workspace to organize a web app in rust. +- [The author of this blog post](https://www.lpalmieri.com/posts/2020-09-27-zero-to-production-4-are-we-observable-yet/) for an excellent introduction on how to do telemetry in rust.