Files

112 lines
2.9 KiB
Markdown

# DevSuite
DevSuite is a comprehensive management system designed for developers and agencies to streamline client management, project tracking, finance, and productivity.
## Features
- **Client Management**: Track clients, contact details, and unique short codes.
- **Project Management**: Manage projects, milestones, and tasks with deadlines.
- **Service Management**: Track recurring services (domains, hosting) and their expiry dates.
- **Finance**: Generate invoices, track payments, and manage expenses.
- **Productivity**: Log time entries and track duration for projects.
- **Automated Notifications**: Email alerts for deadlines, due dates, and service expirations.
## Modules
The project is organized into the following core modules in `src/models/`:
- **Clients** (`clients.py`): `Client` model.
- **Projects** (`projects.py`): `Project`, `Milestone`, `Task` models.
- **Services** (`services.py`): `Service`, `Credential` models.
- **Finance** (`finance.py`): `Invoice`, `Payment`, `Expense` models.
- **Productivity** (`productivity.py`): `TimeEntry`, `Note` models.
- **Notifications** (`notifications.py`): `Notification` model and sending logic.
## Setup
### Prerequisites
- Python 3.10+
- `just` (optional, for command shortcuts)
### Installation
#### Using Just (Recommended)
1. **Clone the repository**:
```bash
git clone https://github.com/S4NKALP/DevSuite.git
cd DevSuite
```
2. **Configure Environment**:
Copy `.env.sample` to `.env` and update the values:
```bash
cp .env.sample .env
```
3. **Run Setup**:
This installs dependencies, runs migrations, and creates a superuser.
```bash
just setup
```
4. **Run Server**:
```bash
just dev
```
#### Traditional Method
1. **Install dependencies**:
```bash
pip install -r requirements.txt
```
2. **Configure Environment**:
Copy `.env.sample` to `.env` and update the values:
```bash
cp .env.sample .env
```
3. **Initialize Database**:
```bash
python manage.py migrate
python manage.py createsuperuser
```
4. **Run Server**:
```bash
python manage.py runserver
```
## Notifications
DevSuite includes an automated email notification system.
- **Triggers**: Project deadlines, Milestone due dates, Service expiry, Invoice due dates.
- **Command**: `python manage.py send_notifications`
- **Automation**: Use `scripts/run_notifications.sh` in a cron job.
For detailed documentation, see [notifi.md](notifi.md).
## Testing
Run the full test suite with:
```bash
python manage.py test
```
For detailed testing documentation, see [testing.md](testing.md).
## Management Commands
- `send_notifications`: Checks for upcoming events and sends emails.
```bash
python manage.py send_notifications
```
## Admin Interface
Access the Django admin at `http://localhost:8000/admin/` to manage all records.