41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
# 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
|