---
[Omnidash](https://omnidash.io) is an open source ticket sourcing system, consisting of:
- [PocketBase](https://pocketbase.io) for ease of extensibility, user and database management
- [SvelteKit](https://kit.svelte.dev) frontend built using design principles from [`shadcn-svelte`](https://www.shadcn-svelte.com/)
- Multiple login flows (username, email, Oauth2)
- API Connectors to preset and custom ticket vendors
Omnidash is most useful to Managed Service Providers that have to keep track of customer tickets which aren't yet consolidated into a single system due to customer requirements.
> [!WARNING]
> This project is still in active development and should not be seen as production-ready.
> Full documentation, guides and examples will be coming soon.
## Setup overview
### Frontend
To install the project and its dependencies, follow these steps:
1. Ensure you have `pnpm` installed on your system. If not, you can install it by running:
```sh-session
npm install -g pnpm
```
2. Run the following command to install the project dependencies:
```sh-session
pnpm install
```
To develop this locally, you can use the following command:
```sh-session
pnpm run dev -- --open
```
### Backend
You can run the backend locally by running:
```sh-session
./backend/pocketbase serve
```
You can use the `--help` flag to determine if you need additional setup.
Alternatively, you can run our Docker image:
```sh-session
docker run us-central1-docker.pkg.dev/omnidash-414814/omnidash-pb/main
```
### Environment Variables
After setting up the required services, you need to set the corresponding environment variables in the `/.env` file. To do this, follow these steps:
1. Make a copy of the `.env.example` file:
```sh-session
cp .env.example .env
```
2. Open the `.env` file in a text editor and populate the values for the services mentioned above.
### Build
To build the project, execute the following command:
```sh-session
pnpm build
```
## Security
If you discover a security vulnerability within PocketBase, please send an e-mail to **bart at vanderbraak.nl**.
All reports will be promptly addressed, and you'll be credited accordingly.
## Contributing
PocketBase is free and open source project licensed under the [GPLv3](LICENSE).
You are free to do whatever you want with it, even offering it as a paid service.
You could help continuing its development by:
- [Contribute to the source code](.github/CONTRIBUTING.md)
- [Suggest new features and report issues](https://github.com/bartvdbraak/omnidash/issues)