MCPcopy Index your code
hub / github.com/Blastose/ranobedb

github.com/Blastose/ranobedb @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
730 symbols 2,294 edges 277 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

RanobeDB logo RanobeDB

RanobeDB is a light novel database website.

Visit us at https://ranobedb.org

Features

  • Add/edit books, series, releases, staff, and publishers to the database
  • Keep track of books you have read, want to read, finished, etc.

Contributing

Prerequisites

RanobeDB is written in SvelteKit and TypeScript and the database uses PostgreSQL. You will need to install Node.js, PostgreSQL and pnpm.

Installation

  1. Clone the repo or fork it on Github and then clone your own repo
git clone https://github.com/Blastose/ranobedb.git

or

git clone https://github.com/{YOUR_ACCOUNT_HERE}/ranobedb.git
  1. Install npm packages with pnpm
pnpm install
  1. Copy the .env.example file to .env and fill it out. If you are only running the site locally, you can skip filling out the MAILGUN_DOMAIN and MAILGUN_API_KEY fields

  2. Create a PostgreSQL database with the same name as the one you put in the DATABASE_URL env variable, then run the database migration script

npx kysely migrate:latest
  1. Seed the database (optional)

  2. Add test users from sql/test_users.sql or

  3. Populate the database with the test database dump db-seed.dump
  4. Run the database migration script again

  5. Start the development server

pnpm run dev

Pull requests

For small fixes, like typos, you can create a branch and submit a pull request with your changes.

For larger fixes or feature requests, please discuss it on our Discord server first.

Acknowledgements

Thanks to:

  • VNDB for inspiring and influencing this project
  • LNRelease for compiling a list of English light novels
  • Ranobe Mori for compiling a list of Japanese light novels

License

AGPL-3.0

Extension points exported contracts — how you extend this code

AuthSession (Interface)
(no doc)
sql/codegen/db.d.ts
RenderParameters (Interface)
(no doc)
src/app.d.ts
Session (Interface)
(no doc)
src/lib/server/lucia/lucia.ts
AuthUser (Interface)
(no doc)
sql/codegen/db.d.ts
Error (Interface)
(no doc)
src/app.d.ts
User (Interface)
(no doc)
src/lib/server/lucia/lucia.ts
AuthUserCredentials (Interface)
(no doc)
sql/codegen/db.d.ts
Locals (Interface)
(no doc)
src/app.d.ts

Core symbols most depended-on inside this repo

fromDB
called by 98
src/lib/server/db/staff/staff.ts
pushIfNotUndefined
called by 67
src/lib/components/history/utils.ts
getDiffWords
called by 48
src/lib/components/history/utils.ts
generateUserId
called by 30
src/lib/server/lucia/lucia.ts
paginationBuilderExecuteWithCount
called by 29
src/lib/server/db/dbHelpers.ts
hasVisibilityPerms
called by 25
src/lib/db/permissions.ts
buildRedirectUrl
called by 24
src/lib/utils/url.ts
isLimited
called by 22
src/lib/server/rate-limiter/rate-limiter.ts

Shape

Function 390
Method 156
Interface 131
Class 53

Languages

TypeScript100%

Modules by API surface

src/lib/server/db/dbTypes.ts61 symbols
sql/codegen/db.d.ts61 symbols
src/lib/components/markdown/simple-markdown.ts34 symbols
src/lib/components/history/utils.ts29 symbols
src/lib/components/form/release/releaseDate.ts21 symbols
src/lib/server/lucia/lucia.ts16 symbols
src/lib/server/db/user/user.ts16 symbols
src/lib/server/db/publishers/publishers.ts15 symbols
src/lib/server/db/books/books.ts15 symbols
src/lib/server/db/user/list.ts13 symbols
src/lib/server/db/series/series.ts13 symbols
src/lib/server/db/staff/staff.ts12 symbols

For agents

$ claude mcp add ranobedb \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact