Problem statement link
- Page navigation kept minimal, for quick single page application like usage.
- Instant search as you type allows fast lookup of books, Debouncing implemented to reduce api calls.
- Keep main functionality at easy reach, issuing and returning book, in the home screen using Side Drawers.
- Avoid unnecessary prompts for editing small fields, such as Book Stock, has been done with simple edit button within Book details UI.
- Integration to Frappe API done via backend, which scans through several pages of the api as required for larger no of books.
- CRUD operations implemented through Forms within Modals.
- Import Books, Update Book Stock
- Search Books with Debouncing Instant search
- Return Book
- ₹500 debt exceed alert, Transaction details, Issue Book
- Members CRUD
Frontend
- Svelte and Sveltkit
- Tailwind CSS
- Skeleton UI Toolkit for Svelte
Backend
- Flask
- Flask Migrate and Alembic
- SQLAlchemy
Database
- Postgresql
Run in order:
cd database
docker-compose up --build
- URL https://16.16.156.1
- Add
DB_URL
env variable for database url
cd backend
pip install -r requirements.txt
flask db upgrade
flask run
- URL https://frappe-library.netlify.app
- Add
PUBLIC_API_URL
env variable for backend url
npm install
npm run dev