diff --git a/README.md b/README.md index 0ded615..83496e1 100644 --- a/README.md +++ b/README.md @@ -15,10 +15,11 @@ A simple SQLite-based system for managing tablet lending and returns. ## Files -- `minimal_app.py` - **DEPRECATED** - Interactive command-line application (limited functionality, use `app.py` instead) +- `minimal_app.py` - Interactive command-line application (includes non-loanable device management) - `test_app.py` - Test script that demonstrates functionality - `tablets.db` - SQLite database (created automatically, includes non_loanable_devices table) -- `app.py` - **Recommended** - Full-featured web version (requires Flask, includes all features) +- `simple_app.py` - Web-based version (requires Flask, includes non-loanable device management) +- `app.py` - Alternative web version (requires Flask, includes non-loanable device management) ## Quick Start @@ -34,21 +35,18 @@ This will: - Demonstrate loan and return operations - Show the complete workflow -### 2. Run the web application (Recommended) +### 2. Run the interactive application ```bash -python3 app.py +python3 minimal_app.py ``` -This provides a full-featured web interface for: -- Adding tablets (with notes field) -- Adding users (with email and phone) +This provides a menu-driven interface for: +- Adding tablets +- Adding users - Loaning tablets - Returning tablets - Viewing inventory and loan status -- User loans view with search -- Non-loanable devices management -- Project management with markdown notes ### 3. Database Structure diff --git a/docs/CLI_VS_WEB.md b/docs/CLI_VS_WEB.md index f9eb00c..5329e31 100644 --- a/docs/CLI_VS_WEB.md +++ b/docs/CLI_VS_WEB.md @@ -1,28 +1,12 @@ # CLI vs Web Functionality Comparison -## ⚠️ DEPRECATION NOTICE - -**The CLI version (`minimal_app.py`) is now DEPRECATED.** - -Please use the **web interface (`app.py`)** for all operations. The web interface provides: -- Complete feature set -- Full database schema support -- Responsive mobile interface -- Better user experience - -The CLI will be removed in a future version. This document is kept for historical reference. - ---- - ## Overview -This document compares the functionality between the **DEPRECATED CLI version** (`minimal_app.py`) and the **Web version** (`app.py`) of the Tablet Management System. +This document compares the functionality between the **CLI version** (`minimal_app.py`) and the **Web version** (`app.py`) of the Tablet Management System. ## Current State -### Web Version (app.py) - ✅ RECOMMENDED - -The web version is the **primary and recommended** interface for all users. +### Web Version (app.py) - Complete Feature Set | Feature | Status | Route | Template | |---------|--------|-------|---------| @@ -40,15 +24,11 @@ The web version is the **primary and recommended** interface for all users. | Delete Non-Loanable Device | ✅ | `/delete_non_loanable_device/` | N/A (redirects) | | Project Management | ✅ | `/project_management` | `project_management.html` | -### CLI Version (minimal_app.py) - ❌ DEPRECATED - -**This CLI is deprecated and should not be used for new development.** - -The CLI has limited functionality and does not support all database columns used by the web version. +### CLI Version (minimal_app.py) - Incomplete | Feature | Status | Function | |---------|--------|----------| -| Add Tablet | ⚠️ Partial | `add_tablet()` - Missing notes field | +| Add Tablet | ✅ | `add_tablet()` | | Add User | ⚠️ Partial | `add_user()` - Missing email/phone | | Loan Tablet | ✅ | `loan_tablet()` | | Return Tablet | ✅ | `return_tablet()` | @@ -63,45 +43,6 @@ The CLI has limited functionality and does not support all database columns used | **Edit Non-Loanable Device** | ❌ Missing | N/A | | **Project Management** | ❌ Missing | N/A | -## Migration Path - -### For Existing CLI Users - -**Stop using the CLI and switch to the web interface:** - -1. Run the web interface: - ```bash - python3 app.py - ``` - -2. Open your browser to: http://localhost:5000 - -3. The web interface uses the **same database** (`tablets.db`), so all your data is preserved. - -### Database Compatibility - -The CLI's database schema is **missing some columns** that the web version uses: -- `tablets.notes` - Added by web version -- `users.email` - Added by web version -- `users.phone` - Added by web version - -**If you've only used the CLI:** Your database is missing these columns. The web interface will still work, but won't be able to store notes, email, or phone until the columns are added. - -**To fix the database schema:** -```bash -# Run the web interface - it will add missing columns automatically -python3 app.py -``` - -The web version's `init_db()` will add any missing columns when it runs. - -## Recommendation - -**Use `app.py` (web interface) for all operations.** - -The CLI (`minimal_app.py`) is deprecated and will be removed in a future version. All development and maintenance efforts should focus on the web interface. - - ## Missing Features in CLI ### 1. User Management diff --git a/minimal_app.py b/minimal_app.py index 1f7183c..381a26d 100644 --- a/minimal_app.py +++ b/minimal_app.py @@ -1,23 +1,7 @@ #!/usr/bin/env python3 """ -DEPRECATED - Tablet Lending and Return Management System (CLI) - -This CLI version is DEPRECATED. Please use the web interface instead. - -The web interface (app.py) provides full functionality including: -- Complete user management (name, email, phone, identification) -- Full tablet management with notes field -- User loans view with search -- Edit functionality for non-loanable devices -- Project management -- Responsive mobile interface - -To run the web interface: - python3 app.py - -Then open http://localhost:5000 in your browser. - -This CLI will be removed in a future version. +Minimal Tablet Lending and Return Management System +Using only built-in Python modules """ import sqlite3 @@ -289,17 +273,10 @@ def delete_non_loanable_device(device_id): def main(): """Main menu""" - print("=" * 70) - print("DEPRECATION WARNING: This CLI is deprecated!") - print("Please use the web interface instead: python3 app.py") - print("=" * 70) - print() - init_db() - print("=== Tablet Lending and Return Management System (DEPRECATED) ===") + print("=== Tablet Lending and Return Management System ===") print("Using SQLite database: tablets.db") - print("NOTE: This CLI has limited functionality. Use web interface for full features.") while True: print("\nMenu:")