1.1 KiB
1.1 KiB
LeoCRM – Requirements
Overview
A minimal web CRM for managing companies and their contact persons, with user authentication.
Functional Requirements
FR1: User Authentication
- Users can register with username and password
- Users can login/logout
- Passwords are hashed with bcrypt
- Session management via Flask-Login
FR2: Company Management
- Authenticated users can create, view, edit, and delete companies
- Company fields: name, address, phone, email, website, notes
- List view with search/filter
FR3: Contact Person Management
- Each contact person belongs to a company
- Fields: first_name, last_name, email, phone, position, notes
- CRUD operations, linked to company
FR4: Web UI
- Jinja2 templates with basic styling
- Navigation between sections
- Forms with validation
Non-Functional Requirements
- SQLite database (no external DB needed)
- Runs on single server (Flask built-in or gunicorn)
- Deployable via Coolify (Docker)
- Code in Git (Forgejo)
Out of Scope
- Multi-tenancy
- REST API
- Advanced search
- File uploads
- Email notifications