Skip to content

Excali-Studio/excali-api

 
 

Repository files navigation

drawing

Excalistudio - Api service

Description

Excalistudio Backend Service is a custom backend solution for the open-source Excalidraw editor. We have also developed a frontend wrapper, which is available here. If you think our project is worth noting, please consider leaving a star or contributing to its development.

How to start local environment?

# 1. Clone repository
$ git clone https://github.com/Excali-Studio/excali-front-wrapper

# 2. Install dependencies
$ pnpm install

# 3. Create and configure .env file 

# 4. Seed database (at your own, read below)

If you want to run full application, check last section!

IMPORTANT!: One of the most important settings is AUTH_EMAIL_DOMAIN_WHITELIST. You need to configure it for your domain. Also, don’t forget to provide your database credentials.

Default DB config:

  • DB type: postgres
  • host: localhost
  • name: excali_studio
  • username: excali_studio
  • password: excali_studio

Seed database

Here’s a revised version of your text for better clarity and grammar:

We handle certain cases using roles and tags; however, you need to set these up manually. Currently, there is no script for this, so you’ll need to insert them using a database viewer or console.

Roles: ADMIN, USER

Tags: SHARED

Build-in commands

# For development
$ pnpm run start

# For local development, watch mode
$ pnpm run start:dev

# For production
$ pnpm run start:prod

### TESTS

# unit tests
$ pnpm run test

# e2e tests
$ pnpm run test:e2e

# test coverage
$ pnpm run test:cov

Auth in application

Our authentication is based on Passport.js. Currently, we have configured Google authentication, but feel free to add other providers and contribute.

  1. /api/auth/google/login - redirects to google auth
  2. /api/auth/status - returns auth status
  3. /api/user/me - returns session data

Swagger docs

We also provide Swagger documentation to make integration with your project easier. Available at: /api

Core database schema

Excalistudio

Learn more

If you want setup full application, check out

All three applications are needed for excalistudio to work properly

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 96.1%
  • Dockerfile 2.8%
  • Other 1.1%