diff --git a/README.md b/README.md index da1a017..64c4360 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,70 @@ -# Python Flask CRUD Application +# AssetTrack 📊 -A minimal python flask app for inventory management, with some basic functionality: -- Fetch and display items from the MySQL db as an html table -- Add new items to the db (individually) using a form -- Edit existing (individual) items in the db using a form -- Delete (individual)items in the db -- Add a batch of new items from a csv file -- Edit a batch of existing items with new data from a csv file -- Let the user preview and edit the csv data in a table before submission -- Use an admin-defined configuration to decide the attributes of an item, and how to manage the db and data +**Simple, Powerful, Customizable Asset Management for Teams** -## Acknowledgment +![AssetTrack Interface](extra/AssetTrack_Screenshot1.png) -This project was originally forked from [this project](https://github.com/MovieTone/crud-flask-export-csv), although it has undergone significant improvent, and resembles nothing like it. +## Overview -## File structure: -``` -. -├── app.py # Main application file -├── config.py # Application configuration (database, item attributes) -├── definitions/ # Definitions for attributes and database models -│ ├── attribute.py # Attribute types (text, integer, date, select) -│ └── models.py # SQLAlchemy models and dynamic table creation -├── functions/ # Helper functions -│ ├── process_csv.py # Extract and process CSV data -│ ├── validate_config.py # Validate configuration file -│ └── validate_values.py # Validate user input and CSV data -├── routes/ # Flask routes -│ ├── confirm_save.py # Save validated CSV data to the database -│ ├── create.py # Add new items -│ ├── delete.py # Delete items -│ ├── export_csv.py # Export data as CSV -│ ├── update.py # Edit existing items -│ ├── upload.py # Upload and process CSV files -│ └── viewall.py # View all items in the database -├── static/ # Static files (e.g., JavaScript) -│ └── edited_csv.js # JavaScript for editing CSV preview tables -└── templates/ # HTML templates - ├── csv_preview.html # Preview and edit CSV data - ├── delete.html # Confirm item deletion - ├── item_form.html # Form for adding/editing items - ├── upload.html # Upload CSV file - └── viewList.html # Home page (view all items) -``` \ No newline at end of file +AssetTrack is a lightweight, self-hosted inventory system for physical asset management. Designed for IT teams and small businesses, it offers enterprise-grade customization without complexity: + +- 🏷️ **Tailored Fields** - Adapt to any asset type through simple configuration +- 🔄 **CSV Power** - Bulk import/export with intelligent validation +- 👥 **Team Ready** - Secure multi-user access control +- 🔒 **Your Data, Your Rules** - No cloud dependencies +- ⚡ **Essential Only** - No bloat, just core functionality + +Built with Python Flask and MySQL for reliability and easy self-hosting. + +--- + +## Key Features + +### Custom Data Structure +✔ Define fields through simple configuration (text, numbers, dates, dropdowns) +✔ Automatic generation of: + - Database schema + - Web forms + - Data tables + - CSV templates + +### Bulk Operations +✔ Import/export assets via CSV +✔ Smart validation with actionable error messages + +### Modern Interface +✔ Clean Bootstrap 5 interface +✔ Mobile-responsive design +✔ Client-side validation + +--- + +## Technology Stack + +| Component | Technology | Purpose | +|-----------------|-------------------------|-----------------------------| +| Core Framework | Python Flask | Backend logic and routing | +| Database | MySQL/MariaDB | Persistent data storage | +| Frontend | Bootstrap 5 | Responsive UI components | +| Security | Flask-Login | Authentication system | + +--- + +## Roadmap + +### Planned Features +- 🔍 Advanced search with custom filters +- 🔐 LDAP/Active Directory integration +- 🌙 Dark mode support + + +## Getting Started + +For installation and configuration details, visit our [project wiki](https://git.candifloss.cc/assettrack/wiki). + +--- + +## License & Copyright + +© 2025 [candifloss](https://candifloss.cc) +📜 Licensed under [GNU GPLv3](/LICENSE) diff --git a/extra/AssetTrack_Screenshot1.png b/extra/AssetTrack_Screenshot1.png new file mode 100644 index 0000000..38292a7 Binary files /dev/null and b/extra/AssetTrack_Screenshot1.png differ