3
1
Fork
You've already forked api
0
Official implementation for Tulipnote, built with love using Elysia and Typescript
  • TypeScript 96.2%
  • Nix 2.7%
  • Dockerfile 0.6%
  • Shell 0.5%
2025年10月25日 05:39:46 +02:00
drizzle feat: more entries routes 2025年05月15日 20:14:12 -07:00
src feat: make data folder 2025年05月25日 17:28:06 -07:00
.gitignore feat: docker! 2025年05月25日 17:07:35 -07:00
bun.lock feat: rate limiting and env var stuff 2025年05月25日 17:24:11 -07:00
compose.yml feat: rate limiting and env var stuff 2025年05月25日 17:24:11 -07:00
dev-start.sh feat: create startup shell script for dev instances 2025年10月25日 04:03:02 +02:00
Dockerfile feat: docker! 2025年05月25日 17:07:35 -07:00
drizzle.config.ts fix: use process.env over Bun.env 2025年10月19日 21:04:27 -07:00
entrypoint.sh feat: docker! 2025年05月25日 17:07:35 -07:00
env.d.ts feat: rate limiting and env var stuff 2025年05月25日 17:24:11 -07:00
flake.lock feat: initial scaffolding 2025年05月10日 15:33:06 -07:00
flake.nix chore: run more stuff in flake 2025年05月25日 17:51:23 -07:00
index.ts feat: initial scaffolding 2025年05月10日 15:33:06 -07:00
LICENSE Initial commit 2025年05月10日 21:15:42 +00:00
package.json feat: rate limiting and env var stuff 2025年05月25日 17:24:11 -07:00
README.md chore: update readme to reflect changes 2025年10月25日 05:27:19 +02:00
tsconfig.json feat: initial scaffolding 2025年05月10日 15:33:06 -07:00

Tulipnote API

Backend for the Tulipnote journaling service. It is recommended to read the full readme for information regarding installation, contributing, etc.

Quickstart

Clone the repository, navigate to it, then (assuming you have docker and docker-compose installed and ready), run docker compose up and access the api at http://localhost:8888. Documentation available at the /swagger endpoint.

Be sure to make note of the access code to create the initial user.

Dev Instance

The API can be started for development purposes with following steps:

  1. Clone the repository and navigate to the directory.
  2. Install Bun if you haven't already. If you have the Nix package manager with flakes and nix-command enabled, you can start a development environment by running nix develop.
  3. Using either .env or shell variables, create a variable called DB to specify the Sqlite file. You do not need to create the file as Drizzle will do that for you.
  4. Start the server by running ./dev-start.sh. The default port is 3000, but can be changed with the PORT environment variable. Documentation is available at http://localhost:3000/swagger.
  5. Make sure to note the printed Access Code as you'll need it to create the initial user. See the documentation for more information.

Contributing

Use Conventional Commits in your fork. For smaller issues/bugs, PRs can be made, but it is advisable to create issues for larger features.

Additional Info

The default rate limiting is 6 requests every 5 seconds which applies globally. This can adjusted with the RL_SECONDS and RL_MAX env variables to adjust seconds pool and max requests per seconds pool, respectively.

If Docker gives any sort of error regarding missing directory, create a folder called data in the root of the project folder.

To contact me directly for any reason including things like security concerns, I have various points of contact on my site at https://me.drizzly.cloud and you can email me at rainy@drizzly.cloud.

Written in Typescript with ❤️