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

About

Main Back-end service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

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