https://github.com/amalchandru/luna
Luna 🛸 : A modular web application built with Flask for managing books
https://github.com/amalchandru/luna
flask javascript jinja2 mongodb python3 tailwindcss
Last synced: 3 months ago
JSON representation
Luna 🛸 : A modular web application built with Flask for managing books
- Host: GitHub
- URL: https://github.com/amalchandru/luna
- Owner: AmalChandru
- Created: 2024-08-19T19:58:25.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-05T07:08:06.000Z (almost 2 years ago)
- Last Synced: 2025-10-19T17:57:05.902Z (8 months ago)
- Topics: flask, javascript, jinja2, mongodb, python3, tailwindcss
- Language: HTML
- Homepage:
- Size: 688 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Luna 🛸
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
## Table of Contents
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [API Endpoints](#api-endpoints)
- [Brewed with:](#brewed-with)
- [Contributing](#contributing)
## Features
- **📚 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.
## Installation
To get started with Luna, follow these steps:
1. **Clone the repository**:
```bash
git clone https://github.com/AmalChandru/luna.git
cd luna-library-management
```
2. **Set up a virtual environment** (optional but recommended):
```bash
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
```
3. **Install the required dependencies**:
```bash
pip install -r requirements.txt
```
4. **Set up MongoDB**:
- Ensure you have MongoDB installed and running.
- Update the database connection string in the [configuration file](./app/config/development.py).
5. **Run the application**:
```bash
flask run
```
6. **Access the application**:
Open your web browser and go to `http://127.0.0.1:5000/books`.
## Usage
- Navigate through the application to manage books, members, and transactions.
- Use the provided API endpoints for programmatic access to the application features.
## API Endpoints
Here are some key API endpoints available in Luna:
### Books
- **List Books**: `GET /books/`
- **Add Book**: `POST /books/add`
- **Edit Book**: `POST /books/edit/`
- **Delete Book**: `POST /books/delete_book/`
### Members
- **List Members**: `GET /members/`
- **Add Member**: `POST /members/add`
- **Edit Member**: `POST /members/edit/`
- **Delete Member**: `POST /members/delete_member/`
### Transactions
- **List Transactions**: `GET /transactions/`
- **Create Transaction**: `POST /transactions/create`
- **Close Transaction**: `POST /transactions/close/`
For more details and screenshots please checkout [documentation](./docs/)
## Brewed with:
- **[Windmill Dashboard](https://github.com/estevanmaito/windmill-dashboard)**: Multi-theme, accessible dashboard with Tailwind CSS. 🛠️
- **[The Flask Mega-Tutorial](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world)**: Engaging tutorial for learning Flask. 📚
- A generous splash of Coffee ☕ and a sprinkle of Love ❤️
## Contributing
Contributions are welcome! If you have suggestions or improvements, please create a pull request or open an issue.