This application is an audiobook management platform. It allows users to organize, track, and convert audiobooks, manage user accounts, and interact with their audiobook library through a modern web interface. The backend provides APIs for book management, conversion, and user authentication, while the frontend offers a responsive UI for browsing and managing books.
- Manage a library of audiobooks (add, edit, delete)
- Track read/unread status and metadata for each book
- Upload and convert audiobook files (e.g., zip of mp3s to m4b)
- Automatic metadata extraction and modification
- User authentication and account management
- Settings management via web interface
- Dockerized deployment for easy setup
- Fast, modern React frontend (Vite)
- RESTful Fastify backend
- Shared TypeScript types for type safety across client and server
This is a monorepo for a full-stack audiobook management application, including a React client (Vite), Fastify server, and shared TypeScript types.
projects/client: React frontend (Vite)projects/server: Fastify backendprojects/shared: Shared TypeScript types and utilitiesbin/: Production build output
- Node.js >= 24.0.2
- npm >= 10.9.2
- Docker + Docker Compose (for containerized run)
Pull only the latest docker-compose.yml from the remote repo:
git fetch origin && git checkout origin/HEAD -- docker-compose.ymlStart the container:
docker compose up -dnpm installStart both client and server:
npm startClient: http://localhost:3000 Server: http://localhost:3001
npm run buildnpm run lintTo run the server in Docker:
docker compose up -dnpm start- Start client and server in developmentnpm run build- Build all packages for productionnpm run lint- Run lint checksnpm run analyze- Analyze client bundle size
Add manage users page
Reset password
Persist read books
Allow upload of zip of mp3s
Modification of metadata
Modify settings via web interface
Automatic download of all books in an audible account and convert to m4b
Add manage users page
Reset password
Persist read books
Allow upload of zip of mp3s
Modification of metadata
Modify settings via web interface
Automatic download of all books in an audible account and convert to m4b