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
|