untitled-7020
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v6View latest version
A comprehensive library management system with user management, book inventory, search capabilities, and fine management.
- Register new users with roles (Admin, Librarian, Member)
- Profile updates and password reset
- View borrowing history
- Auto-verification via institutional email
- Add new books with metadata (ISBN, author, edition, publisher, etc.)
- Remove outdated/damaged books
- Update stock levels
- Categorize by genre, subject, or level
- Barcode/QR scanning for fast entry
- Integration with ISBN databases for autofill
- Search by title, author, ISBN, due dates
- Return books and update availability
- View book details and availability status
- Advanced filtering options
- Issue books to members with due dates
- Return books and update availability
- Form handling for physical/digital books
- Notify users before due dates
- Auto-reminders
- Auto-calculate fines for late returns
- Option to pay fines online
- Fine history for each user
- Role-based access control
- Audit logs for all transactions
- Secure login with optional OTP
- Backend: Hono.js with TypeScript
- Frontend: React with TypeScript
- Database: SQLite
- Styling: TailwindCSS
├── backend/
│ ├── database/
│ │ ├── migrations.ts
│ │ └── queries.ts
│ ├── routes/
│ │ ├── auth.ts
│ │ ├── books.ts
│ │ ├── users.ts
│ │ └── transactions.ts
│ └── index.ts
├── frontend/
│ ├── components/
│ │ ├── App.tsx
│ │ ├── Dashboard.tsx
│ │ ├── BookManagement.tsx
│ │ ├── UserManagement.tsx
│ │ └── SearchCatalog.tsx
│ ├── index.html
│ └── index.tsx
└── shared/
└── types.ts
- The system will automatically create the database tables on first run
- Default admin user will be created (admin@library.com / admin123)
- Access the system via the HTTP endpoint