GestionTablets/RUNNING.md

70 lines
1.8 KiB
Markdown
Raw Normal View History

# Tablet Management System - Running
**Status**: Application is running successfully!
## Access Information
- **Web Interface**: [http://localhost:5000](http://localhost:5000)
- **Port**: 5000
- **Framework**: Flask 3.1.3
- **Database**: SQLite (`tablets.db`)
## How to Use
### Web Interface
1. Open your browser to: [http://localhost:5000](http://localhost:5000)
2. Use the navigation menu to:
- **Home**: View available tablets and active loans
- **Add Tablet**: Add new tablets to inventory
- **Add User**: Register new users
- **Loan Tablet**: Loan a tablet to a user
- **Loan History**: View complete loan history
### Command Line (Alternative)
If you prefer command line:
```bash
# Run the interactive application
python3 minimal_app.py
# Run the test/demo
python3 test_app.py
```
## Current Data
The system already contains test data:
- **3 Tablets**: Samsung Galaxy Tab S7, Apple iPad Pro, Lenovo Tab P11
- **3 Users**: John Doe, Jane Smith, Bob Johnson
- **2 Loans**: One active, one returned
## Stopping the Server
To stop the Flask application:
```bash
pkill -f "python app.py"
```
## Technical Details
- **Backend**: SQLite 3
- **Frontend**: Flask with HTML/CSS
- **Port**: 5000 (configurable in app.py)
- **Virtual Environment**: `.venv/` (created with uv)
## Running Tests
The project includes 46 unit tests for verifying functionality:
```bash
# Run all tests
python3 -m pytest tests/ -v
# Run with coverage
python3 -m pytest tests/ --cov=./ --cov-report=term-missing
```
Tests cover:
- Core CRUD operations for tablets, users, and loans
- Edge cases (duplicates, invalid IDs, already loaned devices)
- Application function testing
- Non-loanable device management
All tests use isolated temporary databases and do not affect production data.