Luna is a powerful library management application designed to help librarians manage books, members, and transactions efficiently. Built using Flask, MongoDB, Jinja, and Tailwind CSS, Luna provides a user-friendly interface and robust functionality for library operations.
Wubba Lubba Dub Dub! - Rick n' Morty discussing about Luna
- 📚 Book Management: Add, edit, delete, and list books in the library.
- 👥 Member Management: Register, update, and manage library members.
- 💳 Transaction Management: Handle book issuance and returns with fee calculations.
- 📥 Data Import: Bulk import books using the Frappe API interface.
To get started with Luna, follow these steps:
-
Clone the repository:
git clone https://github.com/AmalChandru/luna.git cd luna-library-management
-
Set up a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up MongoDB:
- Ensure you have MongoDB installed and running.
- Update the database connection string in the configuration file.
-
Run the application:
flask run
-
Access the application: Open your web browser and go to
http://127.0.0.1:5000/books
.
- Navigate through the application to manage books, members, and transactions.
- Use the provided API endpoints for programmatic access to the application features.
Here are some key API endpoints available in Luna:
- List Books:
GET /books/
- Add Book:
POST /books/add
- Edit Book:
POST /books/edit/<id>
- Delete Book:
POST /books/delete_book/<id>
- List Members:
GET /members/
- Add Member:
POST /members/add
- Edit Member:
POST /members/edit/<id>
- Delete Member:
POST /members/delete_member/<id>
- List Transactions:
GET /transactions/
- Create Transaction:
POST /transactions/create
- Close Transaction:
POST /transactions/close/<transaction_id>
For more details and screenshots please checkout documentation
- Windmill Dashboard: Multi-theme, accessible dashboard with Tailwind CSS. 🛠️
- The Flask Mega-Tutorial: Engaging tutorial for learning Flask. 📚
- A generous splash of Coffee ☕ and a sprinkle of Love ❤️
Contributions are welcome! If you have suggestions or improvements, please create a pull request or open an issue.