Self-Hosted, Open, and Editable Library Management Platform
Check out the cross-platform mobile client for this API: X-Library Mobile
-
Federated Network of Book Reviews/Recommendations
- Ability for peers to sync with other peers
- Social networking capabilities(follow users from other instances(ActivityPub?))
-
RSS Feed for reviews
- Use ISBN database services to link the book inside the review to an external source
-
Statistics
- GoodReads style statistics for both books and users
-
Add books from an external source
- use OpenLibrary or a similar service to fetch books with the ISBN number
The API now allows book creation/addition with only the ISBN number, thus, the OpenLibrary API can be leveraged in your client to search for books, authors, genres, etc. Then use the retrieved ISBN to add the book to the X Library platform.
To start your Phoenix server:
- Update
dev.exs
config with your database credentials - Rename
dev.example_secrets.exs
todev.secrets.exs
and follow the examples to setup the authentication secrets. - Install dependencies with
mix deps.get
- Create, migrate, and seed your database with
mix ecto.setup
- Start Phoenix endpoint with
mix phx.server
or inside IEx withiex -S mix phx.server
Check out the OpenAPI Docs Website: https://rasjonell.github.io/x-library/
Or jump to API Usage Docs
You can download the OpenApi spec and import it in Insomnia or Postman and get a testable API.
- Postman: Working With OpenAPI
- Insomnia:
- Open up Insomnia
- Navigate to Dashboard
- Click
Create
- Choose
URL
- Paste this URL:
https://raw.githubusercontent.com/rasjonell/x-library/main/x-library-api-spec.yaml
- Answer the prompts to create a new Design Document