Merge pull request #45 from christianlouis/rename-to-docuelevate
feat: rename project from DocuNova to DocuElevate
@@ -2,7 +2,7 @@
|
||||
WORKDIR=/workdir
|
||||
DATABASE_URL=sqlite:///./app/database.db
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
EXTERNAL_HOSTNAME=docunova.example.com
|
||||
EXTERNAL_HOSTNAME=docuelevate.example.com
|
||||
GOTENBERG_URL=http://gotenberg:3000
|
||||
ALLOW_FILE_DELETE=true # Allow deletion of file records
|
||||
|
||||
@@ -15,7 +15,7 @@ ADMIN_PASSWORD=your_secure_password
|
||||
# **OpenID Connect/Authentik Settings**
|
||||
AUTHENTIK_CLIENT_ID=<yourAuthentikAppClientID>
|
||||
AUTHENTIK_CLIENT_SECRET=<yourAuthentikAppClientSecret>
|
||||
AUTHENTIK_CONFIG_URL=<ConfigUrlOfYourApp, e.g. https://authentik.example.com/application/o/docunova/.well-known/openid-configuration>
|
||||
AUTHENTIK_CONFIG_URL=<ConfigUrlOfYourApp, e.g. https://authentik.example.com/application/o/docuelevate/.well-known/openid-configuration>
|
||||
|
||||
# **AI/ML Services**
|
||||
# OpenAI
|
||||
@@ -31,10 +31,10 @@ AZURE_AI_KEY=<AZURE_AI_KEY>
|
||||
# **Email Settings**
|
||||
EMAIL_HOST=smtp.example.com
|
||||
EMAIL_PORT=587
|
||||
EMAIL_USERNAME=docunova@example.com
|
||||
EMAIL_USERNAME=docuelevate@example.com
|
||||
EMAIL_PASSWORD=your_secure_email_password
|
||||
EMAIL_USE_TLS=True
|
||||
EMAIL_SENDER=DocuNova System <docunova@example.com>
|
||||
EMAIL_SENDER=DocuElevate System <docuelevate@example.com>
|
||||
EMAIL_DEFAULT_RECIPIENT=recipient@example.com
|
||||
|
||||
# **IMAP Settings**
|
||||
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
tags: "${{ vars.DOCKER_USER }}/docunova:latest"
|
||||
tags: "${{ vars.DOCKER_USER }}/docuelevate:latest"
|
||||
outputs: ${{ github.event_name == 'pull_request' && 'type=cacheonly' || 'type=registry' }}
|
||||
provenance: mode=max
|
||||
sbom: true
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Contributing to DocuNova
|
||||
# Contributing to DocuElevate
|
||||
|
||||
Thank you for your interest in contributing to DocuNova! This document provides guidelines and instructions for contributing to the project.
|
||||
Thank you for your interest in contributing to DocuElevate! This document provides guidelines and instructions for contributing to the project.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
|
||||
@@ -175,7 +175,7 @@ Apache License
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Copyright 2025 Christian Krakau-Louis <christian@docunova.org>
|
||||
Copyright 2025 Christian Krakau-Louis <christian@docuelevate.org>
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<div align="center">
|
||||
<img src="frontend/static/logo_writing.svg" alt="DocuNova Logo" width="280" />
|
||||
<img src="frontend/static/logo_writing.svg" alt="DocuElevate Logo" width="280" />
|
||||
<p>Intelligent Document Processing & Management</p>
|
||||
</div>
|
||||
|
||||
# DocuNova
|
||||
# DocuElevate
|
||||
|
||||
## Overview
|
||||
|
||||
DocuNova automates the handling, extraction, and processing of documents using a variety of services, including:
|
||||
DocuElevate automates the handling, extraction, and processing of documents using a variety of services, including:
|
||||
|
||||
- **OpenAI** for metadata extraction and text refinement.
|
||||
- **Dropbox**, **Nextcloud**, and **Google Drive** for file storage and uploads.
|
||||
@@ -22,33 +22,33 @@ The project includes a **UI** for uploading and managing files, and an API docum
|
||||
|
||||
## Documentation Index
|
||||
|
||||
- [User Guide](docs/UserGuide.md) - How to use DocuNova
|
||||
- [User Guide](docs/UserGuide.md) - How to use DocuElevate
|
||||
- [API Documentation](docs/API.md) - API reference
|
||||
- [Deployment Guide](docs/DeploymentGuide.md) - How to deploy DocuNova
|
||||
- [Deployment Guide](docs/DeploymentGuide.md) - How to deploy DocuElevate
|
||||
- [Configuration Guide](docs/ConfigurationGuide.md) - Available configuration options
|
||||
- [Development Guide](CONTRIBUTING.md) - How to contribute to DocuNova
|
||||
- [Development Guide](CONTRIBUTING.md) - How to contribute to DocuElevate
|
||||
- [Troubleshooting](docs/Troubleshooting.md) - Common issues and solutions
|
||||
|
||||
## Screenshots
|
||||
|
||||
<div align="center">
|
||||
<img src="docs/upload-view.png" alt="DocuNova Upload Interface" width="80%" />
|
||||
<img src="docs/upload-view.png" alt="DocuElevate Upload Interface" width="80%" />
|
||||
<p><em>Upload interface for adding new documents</em></p>
|
||||
|
||||
<img src="docs/files-view.png" alt="DocuNova Files View" width="80%" />
|
||||
<img src="docs/files-view.png" alt="DocuElevate Files View" width="80%" />
|
||||
<p><em>Files view with processed documents and metadata</em></p>
|
||||
</div>
|
||||
|
||||
## Workflow Process
|
||||
|
||||
DocuNova follows a streamlined document processing workflow:
|
||||
DocuElevate follows a streamlined document processing workflow:
|
||||
|
||||
<div align="center">
|
||||
<img src="docs/workflow-diagram.png" alt="DocuNova Workflow" width="90%" />
|
||||
<img src="docs/workflow-diagram.png" alt="DocuElevate Workflow" width="90%" />
|
||||
</div>
|
||||
|
||||
### Document Ingestion
|
||||
Documents enter DocuNova through three possible channels:
|
||||
Documents enter DocuElevate through three possible channels:
|
||||
1. **Web Upload**: Users manually upload files via the web interface
|
||||
2. **Email Attachments**: Automatic polling of configured IMAP mailboxes (supports multiple accounts)
|
||||
3. **API**: Direct programmatic uploads via the REST API
|
||||
|
||||
@@ -27,7 +27,7 @@ SESSION_SECRET = config(
|
||||
default="YOUR_DEFAULT_SESSION_SECRET_MUST_BE_32_CHARS_OR_MORE"
|
||||
)
|
||||
|
||||
app = FastAPI(title="DocuNova")
|
||||
app = FastAPI(title="DocuElevate")
|
||||
|
||||
# 1) Session Middleware (for request.session to work)
|
||||
app.add_middleware(SessionMiddleware, secret_key=SESSION_SECRET)
|
||||
|
||||
@@ -83,7 +83,7 @@ def extract_metadata_from_file(file_path):
|
||||
return metadata
|
||||
|
||||
def attach_logo(msg):
|
||||
"""Attach the DocuNova logo to the email with proper Content-ID."""
|
||||
"""Attach the DocuElevate logo to the email with proper Content-ID."""
|
||||
try:
|
||||
# Try to find logo in workdir first (for customization)
|
||||
custom_logo_path = os.path.join(settings.workdir, "templates", "email", "logo.png")
|
||||
@@ -187,7 +187,7 @@ def upload_to_email(file_path: str, recipients=None, subject=None, message=None,
|
||||
return {"status": "Skipped", "reason": error}
|
||||
|
||||
# Use provided subject or create default
|
||||
subject = subject or f"DocuNova Document: {filename}"
|
||||
subject = subject or f"DocuElevate Document: {filename}"
|
||||
|
||||
# Extract document metadata if available
|
||||
metadata = {}
|
||||
@@ -215,7 +215,7 @@ def upload_to_email(file_path: str, recipients=None, subject=None, message=None,
|
||||
context = {
|
||||
"filename": filename,
|
||||
"message": message or f"Attached is the document: {filename}",
|
||||
"app_name": "DocuNova",
|
||||
"app_name": "DocuElevate",
|
||||
"app_url": f"https://{settings.external_hostname}" if settings.external_hostname else None,
|
||||
"custom_message": message,
|
||||
"metadata": metadata,
|
||||
|
||||
@@ -151,7 +151,7 @@ def upload_to_google_drive(file_path: str, include_metadata=True):
|
||||
|
||||
# Add minimal appProperties
|
||||
file_metadata['appProperties'] = {
|
||||
'docunova': 'true'
|
||||
'docuelevate': 'true'
|
||||
}
|
||||
|
||||
# Add metadata to file description for better visibility in Google Drive UI
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document from DocuNova</title>
|
||||
<title>Document from DocuElevate</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
@@ -95,7 +95,7 @@
|
||||
<body>
|
||||
<div class="header">
|
||||
{% if has_logo %}
|
||||
<img src="cid:logo" alt="DocuNova Logo" class="logo">
|
||||
<img src="cid:logo" alt="DocuElevate Logo" class="logo">
|
||||
{% endif %}
|
||||
<h1>Document Delivery</h1>
|
||||
</div>
|
||||
@@ -105,7 +105,7 @@
|
||||
{% if custom_message %}
|
||||
{{ custom_message }}
|
||||
{% else %}
|
||||
A document has been shared with you from DocuNova.
|
||||
A document has been shared with you from DocuElevate.
|
||||
{% endif %}
|
||||
</p>
|
||||
|
||||
@@ -148,14 +148,14 @@
|
||||
|
||||
{% if app_url %}
|
||||
<p>
|
||||
<a href="{{ app_url }}" class="button">Visit DocuNova</a>
|
||||
<a href="{{ app_url }}" class="button">Visit DocuElevate</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p>This is an automated message from DocuNova Document Processing System.</p>
|
||||
<p>© {{ now().year }} DocuNova</p>
|
||||
<p>This is an automated message from DocuElevate Document Processing System.</p>
|
||||
<p>© {{ now().year }} DocuElevate</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# API Documentation
|
||||
|
||||
DocuNova provides a powerful REST API for programmatic access to all its features. This document serves as a reference for the available endpoints and their usage.
|
||||
DocuElevate provides a powerful REST API for programmatic access to all its features. This document serves as a reference for the available endpoints and their usage.
|
||||
|
||||
## API Overview
|
||||
|
||||
- Base URL: `http://<your-docunova-instance>/api`
|
||||
- Base URL: `http://<your-docuelevate-instance>/api`
|
||||
- Authentication: OAuth2 (when enabled)
|
||||
- Response Format: JSON
|
||||
|
||||
@@ -12,7 +12,7 @@ DocuNova provides a powerful REST API for programmatic access to all its feature
|
||||
|
||||
The most up-to-date and interactive API documentation is available at:
|
||||
|
||||
`http://<your-docunova-instance>/docs`
|
||||
`http://<your-docuelevate-instance>/docs`
|
||||
|
||||
This Swagger UI provides a complete reference with the ability to try out API calls directly from your browser.
|
||||
|
||||
@@ -21,7 +21,7 @@ This Swagger UI provides a complete reference with the ability to try out API ca
|
||||
When authentication is enabled, you must include an authentication token in your requests:
|
||||
|
||||
```bash
|
||||
curl -X GET "http://<your-docunova-instance>/api/files" \
|
||||
curl -X GET "http://<your-docuelevate-instance>/api/files" \
|
||||
-H "Authorization: Bearer <your-token>"
|
||||
```
|
||||
|
||||
@@ -131,11 +131,6 @@ Errors follow standard HTTP status codes with descriptive messages:
|
||||
|
||||
The API implements rate limiting to ensure system stability. If you exceed the limits, you'll receive a `429 Too Many Requests` response.
|
||||
|
||||
## Client Libraries
|
||||
|
||||
For easy integration with your applications, consider using one of our client libraries:
|
||||
|
||||
- Python: [github.com/christianlouis/docunova-python-client](https://github.com/christianlouis/docunova-python-client)
|
||||
|
||||
## Further Assistance
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Setting up Amazon S3 Integration
|
||||
|
||||
This guide explains how to set up the Amazon S3 integration for DocuNova.
|
||||
This guide explains how to set up the Amazon S3 integration for DocuElevate.
|
||||
|
||||
## Required Configuration Parameters
|
||||
|
||||
@@ -31,7 +31,7 @@ For a complete list of configuration options, see the [Configuration Guide](Conf
|
||||
|
||||
1. Go to the [AWS IAM Console](https://console.aws.amazon.com/iam/)
|
||||
2. Navigate to "Users" and click "Add users"
|
||||
3. Enter a name (e.g., "docunova-s3-access")
|
||||
3. Enter a name (e.g., "docuelevate-s3-access")
|
||||
4. For access type, select "Programmatic access"
|
||||
5. Click "Next: Permissions"
|
||||
6. Choose "Attach existing policies directly" and search for "AmazonS3FullAccess"
|
||||
@@ -40,7 +40,7 @@ For a complete list of configuration options, see the [Configuration Guide](Conf
|
||||
9. On the final page, you'll see the Access Key ID and Secret Access Key
|
||||
10. Save these credentials securely as they won't be shown again
|
||||
|
||||
### 3. Configure DocuNova
|
||||
### 3. Configure DocuElevate
|
||||
|
||||
1. Set `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` to the credentials from step 2
|
||||
2. Set `AWS_REGION` to the region where your bucket was created (e.g., "us-east-1")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Configuration Guide
|
||||
|
||||
DocuNova is designed to be highly configurable through environment variables. This guide explains all available configuration options and how to use them effectively.
|
||||
DocuElevate is designed to be highly configurable through environment variables. This guide explains all available configuration options and how to use them effectively.
|
||||
|
||||
## Environment Variables
|
||||
|
||||
@@ -14,12 +14,12 @@ Configuration is primarily done through environment variables specified in a `.e
|
||||
| `REDIS_URL` | URL for Redis, used by Celery for broker & result store. | `redis://redis:6379/0` |
|
||||
| `WORKDIR` | Working directory for the application. | `/workdir` |
|
||||
| `GOTENBERG_URL` | Gotenberg PDF processing URL. | `http://gotenberg:3000` |
|
||||
| `EXTERNAL_HOSTNAME` | The external hostname for the application. | `docunova.example.com` |
|
||||
| `EXTERNAL_HOSTNAME` | The external hostname for the application. | `docuelevate.example.com` |
|
||||
| `ALLOW_FILE_DELETE` | Enable file deletion in the web interface (`true`/`false`). | `true` |
|
||||
|
||||
### IMAP Configuration
|
||||
|
||||
DocuNova can monitor multiple IMAP mailboxes for document attachments. Each mailbox uses a numbered prefix (e.g., `IMAP1_`, `IMAP2_`).
|
||||
DocuElevate can monitor multiple IMAP mailboxes for document attachments. Each mailbox uses a numbered prefix (e.g., `IMAP1_`, `IMAP2_`).
|
||||
|
||||
| **Variable** | **Description** | **Example** |
|
||||
|-------------------------------|--------------------------------------------------------------|-------------------|
|
||||
@@ -127,7 +127,7 @@ For detailed setup instructions, see the [Google Drive Setup Guide](GoogleDriveS
|
||||
| `EMAIL_USERNAME` | SMTP authentication username. |
|
||||
| `EMAIL_PASSWORD` | SMTP authentication password. |
|
||||
| `EMAIL_USE_TLS` | Whether to use TLS (default: `True`). |
|
||||
| `EMAIL_SENDER` | From address (e.g., `"DocuNova <docunova@example.com>"`). |
|
||||
| `EMAIL_SENDER` | From address (e.g., `"DocuElevate <docuelevate@example.com>"`). |
|
||||
| `EMAIL_DEFAULT_RECIPIENT` | Default recipient email if none specified in the task. |
|
||||
|
||||
### OneDrive / Microsoft Graph
|
||||
@@ -167,7 +167,7 @@ For detailed setup instructions, see the [Amazon S3 Setup Guide](AmazonS3Setup.m
|
||||
|
||||
### Minimal Configuration
|
||||
|
||||
This is the minimal configuration needed to run DocuNova with local storage only:
|
||||
This is the minimal configuration needed to run DocuElevate with local storage only:
|
||||
|
||||
```dotenv
|
||||
DATABASE_URL=sqlite:///./app/database.db
|
||||
@@ -184,7 +184,7 @@ DATABASE_URL=sqlite:///./app/database.db
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
WORKDIR=/workdir
|
||||
GOTENBERG_URL=http://gotenberg:3000
|
||||
EXTERNAL_HOSTNAME=docunova.example.com
|
||||
EXTERNAL_HOSTNAME=docuelevate.example.com
|
||||
ALLOW_FILE_DELETE=true
|
||||
|
||||
# IMAP settings
|
||||
@@ -254,10 +254,10 @@ SFTP_FOLDER=/Documents/Uploads
|
||||
# Email
|
||||
EMAIL_HOST=smtp.example.com
|
||||
EMAIL_PORT=587
|
||||
EMAIL_USERNAME=docunova@example.com
|
||||
EMAIL_USERNAME=docuelevate@example.com
|
||||
EMAIL_PASSWORD=password
|
||||
EMAIL_USE_TLS=True
|
||||
EMAIL_SENDER=DocuNova System <docunova@example.com>
|
||||
EMAIL_SENDER=DocuElevate System <docuelevate@example.com>
|
||||
EMAIL_DEFAULT_RECIPIENT=recipient@example.com
|
||||
|
||||
# OneDrive (Personal Account)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# DocuNova Configuration
|
||||
# DocuElevate Configuration
|
||||
|
||||
This section contains detailed documentation about configuring DocuNova for your environment.
|
||||
This section contains detailed documentation about configuring DocuElevate for your environment.
|
||||
|
||||
## Configuration Overview
|
||||
|
||||
DocuNova is designed to be highly configurable through environment variables, typically set in a `.env` file. This allows you to enable only the services and integrations you need for your specific use case.
|
||||
DocuElevate is designed to be highly configurable through environment variables, typically set in a `.env` file. This allows you to enable only the services and integrations you need for your specific use case.
|
||||
|
||||
## Documentation Sections
|
||||
|
||||
@@ -28,7 +28,7 @@ DATABASE_URL=sqlite:///./app/database.db
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
WORKDIR=/workdir
|
||||
GOTENBERG_URL=http://gotenberg:3000
|
||||
EXTERNAL_HOSTNAME=docunova.example.com
|
||||
EXTERNAL_HOSTNAME=docuelevate.example.com
|
||||
|
||||
# Enable only the services you need
|
||||
# For detailed parameters, see the Configuration Guide
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Configuration Troubleshooting Guide
|
||||
|
||||
This guide helps you resolve common configuration issues with DocuNova's various integrations.
|
||||
This guide helps you resolve common configuration issues with DocuElevate's various integrations.
|
||||
|
||||
## SMTP Email Configuration
|
||||
|
||||
@@ -47,7 +47,7 @@ When you see errors like "Settings object has no attribute 'nextcloud_url'" or s
|
||||
#### Dropbox
|
||||
```
|
||||
DROPBOX_TOKEN=your_oauth2_token
|
||||
DROPBOX_FOLDER=/DocuNova
|
||||
DROPBOX_FOLDER=/DocuElevate
|
||||
```
|
||||
|
||||
#### Nextcloud
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Deployment Guide
|
||||
|
||||
This guide provides instructions for deploying DocuNova in various environments.
|
||||
This guide provides instructions for deploying DocuElevate in various environments.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -16,7 +16,7 @@ This guide provides instructions for deploying DocuNova in various environments.
|
||||
|
||||
## Docker Deployment
|
||||
|
||||
Docker is the recommended deployment method for DocuNova.
|
||||
Docker is the recommended deployment method for DocuElevate.
|
||||
|
||||
### Step 1: Clone the Repository
|
||||
|
||||
@@ -42,7 +42,7 @@ docker-compose up -d
|
||||
```
|
||||
|
||||
This will start:
|
||||
- The DocuNova API server
|
||||
- The DocuElevate API server
|
||||
- A worker for background tasks
|
||||
- Redis for message broker and result storage
|
||||
- Gotenberg for PDF processing
|
||||
@@ -60,7 +60,7 @@ For production use, we recommend setting up a reverse proxy (like Nginx or Traef
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name docunova.example.com;
|
||||
server_name docuelevate.example.com;
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost:8000;
|
||||
@@ -107,7 +107,7 @@ worker:
|
||||
|
||||
## Monitoring
|
||||
|
||||
Monitor your DocuNova deployment using:
|
||||
Monitor your DocuElevate deployment using:
|
||||
|
||||
- Docker's built-in logging: `docker-compose logs -f`
|
||||
- Container metrics: `docker stats`
|
||||
@@ -123,7 +123,7 @@ Regularly back up the following:
|
||||
|
||||
## Updates
|
||||
|
||||
To update DocuNova to a newer version:
|
||||
To update DocuElevate to a newer version:
|
||||
|
||||
```bash
|
||||
# Pull the latest changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Setting up Dropbox Integration
|
||||
|
||||
This guide explains how to set up the Dropbox integration for DocuNova.
|
||||
This guide explains how to set up the Dropbox integration for DocuElevate.
|
||||
|
||||
## Required Configuration Parameters
|
||||
|
||||
@@ -24,7 +24,7 @@ You can set up Dropbox integration in two ways:
|
||||
|
||||
The easiest way to set up Dropbox integration is to use the built-in setup wizard:
|
||||
|
||||
1. Navigate to the `/dropbox-setup` page in your DocuNova instance
|
||||
1. Navigate to the `/dropbox-setup` page in your DocuElevate instance
|
||||
2. Follow the on-screen instructions to create a Dropbox app
|
||||
3. Enter your App Key and App Secret in the wizard
|
||||
4. Optionally specify a custom folder path for uploads
|
||||
@@ -43,7 +43,7 @@ The wizard handles all the token exchange steps and provides you with the exact
|
||||
2. Click "Create app"
|
||||
3. Select "Scoped access" for API
|
||||
4. Choose "Full Dropbox" access (or "App folder" for more restricted access)
|
||||
5. Give your app a name (e.g., "DocuNova")
|
||||
5. Give your app a name (e.g., "DocuElevate")
|
||||
6. Click "Create app"
|
||||
|
||||
### 2. Configure App Permissions
|
||||
@@ -90,7 +90,7 @@ The wizard handles all the token exchange steps and provides you with the exact
|
||||
|
||||
2. From the response, copy the `refresh_token` value
|
||||
|
||||
### 6. Configure DocuNova
|
||||
### 6. Configure DocuElevate
|
||||
|
||||
1. Set `DROPBOX_APP_KEY`, `DROPBOX_APP_SECRET`, and `DROPBOX_REFRESH_TOKEN` with your values
|
||||
2. Set `DROPBOX_FOLDER` to the path where files should be uploaded (e.g., `/Documents/Uploads`)
|
||||
@@ -103,7 +103,7 @@ The system will use the refresh token to automatically generate short-lived acce
|
||||
|
||||
You can test if your token is working correctly:
|
||||
|
||||
1. Navigate to the `/dropbox-setup` page in your DocuNova instance
|
||||
1. Navigate to the `/dropbox-setup` page in your DocuElevate instance
|
||||
2. Click the "Test Token" button to verify your credentials
|
||||
3. If the test fails, click "Refresh Token" to obtain a new refresh token
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Setting up Google Drive Integration
|
||||
|
||||
This guide explains how to set up the Google Drive integration for DocuNova.
|
||||
This guide explains how to set up the Google Drive integration for DocuElevate.
|
||||
|
||||
## Required Configuration Parameters
|
||||
|
||||
@@ -55,7 +55,7 @@ To find your Google Drive folder ID:
|
||||
3. The string after "folders/" is your folder ID (in this example: `1a2b3c4d5e6f7g8h9i0j`)
|
||||
4. Set this value as `GOOGLE_DRIVE_FOLDER_ID` in your configuration
|
||||
|
||||
### 6. Configure DocuNova
|
||||
### 6. Configure DocuElevate
|
||||
|
||||
1. Open the downloaded JSON key file
|
||||
2. Set the entire JSON content as the `GOOGLE_DRIVE_CREDENTIALS_JSON` environment variable
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Setting up OneDrive Integration
|
||||
|
||||
This guide explains how to set up the Microsoft OneDrive integration for DocuNova.
|
||||
This guide explains how to set up the Microsoft OneDrive integration for DocuElevate.
|
||||
|
||||
## Required Configuration Parameters
|
||||
|
||||
@@ -51,7 +51,7 @@ The setup process differs slightly based on which account type you're using.
|
||||
1. Go to the [Azure Portal](https://portal.azure.com/)
|
||||
2. Navigate to "Azure Active Directory" > "App registrations"
|
||||
3. Click "New registration"
|
||||
4. Enter a name for your application (e.g., "DocuNova")
|
||||
4. Enter a name for your application (e.g., "DocuElevate")
|
||||
5. For "Supported account types", select the appropriate option:
|
||||
- For personal accounts: "Accounts in any organizational directory and personal Microsoft accounts"
|
||||
- For corporate accounts only: "Accounts in this organizational directory only"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# DocuNova Documentation
|
||||
# DocuElevate Documentation
|
||||
|
||||
Welcome to the DocuNova documentation. This directory contains comprehensive guides to help you install, configure, and use DocuNova effectively.
|
||||
Welcome to the DocuElevate documentation. This directory contains comprehensive guides to help you install, configure, and use DocuElevate effectively.
|
||||
|
||||
## Available Documentation
|
||||
|
||||
- [User Guide](UserGuide.md) - How to use DocuNova's features and interface
|
||||
- [User Guide](UserGuide.md) - How to use DocuElevate's features and interface
|
||||
- [API Documentation](API.md) - Complete API reference for developers
|
||||
- [Deployment Guide](DeploymentGuide.md) - How to deploy DocuNova in various environments
|
||||
- [Deployment Guide](DeploymentGuide.md) - How to deploy DocuElevate in various environments
|
||||
- [Configuration](ConfigurationMaster.md) - Overview of configuration options, including:
|
||||
- [Configuration Guide](ConfigurationGuide.md) - Complete list of all available configuration parameters
|
||||
- [Google Drive Setup](GoogleDriveSetup.md) - How to set up Google Drive integration
|
||||
@@ -18,7 +18,7 @@ Welcome to the DocuNova documentation. This directory contains comprehensive gui
|
||||
|
||||
## Additional Resources
|
||||
|
||||
- [Contributing Guide](../CONTRIBUTING.md) - How to contribute to DocuNova development
|
||||
- [Contributing Guide](../CONTRIBUTING.md) - How to contribute to DocuElevate development
|
||||
- [License Information](../LICENSE) - Apache License 2.0 details
|
||||
|
||||
## Support
|
||||
@@ -31,10 +31,13 @@ If you need additional assistance beyond what's covered in these guides:
|
||||
## Screenshots
|
||||
|
||||

|
||||
*DocuNova's upload interface*
|
||||
*DocuElevate's upload interface*
|
||||
|
||||

|
||||
*Document management interface*
|
||||
|
||||

|
||||
*System management interface*
|
||||
|
||||

|
||||
*DocuNova processing workflow*
|
||||
*DocuElevate processing workflow*
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Troubleshooting Guide
|
||||
|
||||
This document provides solutions to common problems encountered when using DocuNova.
|
||||
This document provides solutions to common problems encountered when using DocuElevate.
|
||||
|
||||
## Common Issues
|
||||
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
# User Guide
|
||||
|
||||
This guide helps you get started with using DocuNova for document management and processing.
|
||||
This guide helps you get started with using DocuElevate for document management and processing.
|
||||
|
||||
## Getting Started
|
||||
|
||||
DocuNova offers an intuitive web interface for uploading, managing, and processing your documents.
|
||||
DocuElevate offers an intuitive web interface for uploading, managing, and processing your documents.
|
||||
|
||||
### Accessing the System
|
||||
|
||||
1. Navigate to your DocuNova instance (typically at `http://your-server-address:8000`)
|
||||
1. Navigate to your DocuElevate instance (typically at `http://your-server-address:8000`)
|
||||
2. If authentication is enabled, you'll be prompted to log in using your credentials
|
||||
|
||||
### Main Interface
|
||||
|
||||
DocuNova features a simple navigation system with the following main sections:
|
||||
DocuElevate features a simple navigation system with the following main sections:
|
||||
- **Home**: Dashboard and overview
|
||||
- **Upload**: For adding new documents to the system
|
||||
- **Files**: For viewing and managing processed documents
|
||||
- **About**: Information about DocuNova
|
||||
- **About**: Information about DocuElevate
|
||||
|
||||
## Uploading Documents
|
||||
|
||||
@@ -31,10 +31,10 @@ DocuNova features a simple navigation system with the following main sections:
|
||||
|
||||
### Email Attachments
|
||||
|
||||
If configured, DocuNova can automatically fetch documents from email attachments:
|
||||
If configured, DocuElevate can automatically fetch documents from email attachments:
|
||||
|
||||
1. Send an email with attachments to the configured email account
|
||||
2. DocuNova will poll the mailbox at the configured interval
|
||||
2. DocuElevate will poll the mailbox at the configured interval
|
||||
3. Attachments will be automatically downloaded and processed
|
||||
4. No further action is required
|
||||
|
||||
@@ -49,7 +49,7 @@ The **Files** page provides access to all processed documents:
|
||||
|
||||
## Document Processing Features
|
||||
|
||||
Depending on the system configuration, DocuNova can perform:
|
||||
Depending on the system configuration, DocuElevate can perform:
|
||||
|
||||
- **OCR** - Extract text from images and scanned PDFs
|
||||
- **Metadata Extraction** - Automatically identify document types, dates, and other key information
|
||||
@@ -58,12 +58,12 @@ Depending on the system configuration, DocuNova can perform:
|
||||
|
||||
## API Access
|
||||
|
||||
For programmatic access, DocuNova provides a comprehensive REST API:
|
||||
For programmatic access, DocuElevate provides a comprehensive REST API:
|
||||
|
||||
1. Navigate to `/docs` on your DocuNova instance
|
||||
1. Navigate to `/docs` on your DocuElevate instance
|
||||
2. The interactive Swagger documentation allows you to test API endpoints directly
|
||||
3. Obtain an API token if authentication is enabled
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
If you encounter issues while using DocuNova, please refer to the [Troubleshooting Guide](Troubleshooting.md).
|
||||
If you encounter issues while using DocuElevate, please refer to the [Troubleshooting Guide](Troubleshooting.md).
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
<!-- Background box (optional) -->
|
||||
<rect x="40" y="40" width="720" height="520" class="label-bg" />
|
||||
|
||||
<!-- DocuNova Logo (Top Center) -->
|
||||
<!-- DocuElevate Logo (Top Center) -->
|
||||
<g transform="translate(300, 60) scale(1.2)">
|
||||
<text x="60" y="20" font-family="Segoe UI" font-size="24" font-weight="bold" fill="#3B82F6">DocuNova</text>
|
||||
<text x="60" y="20" font-family="Segoe UI" font-size="24" font-weight="bold" fill="#3B82F6">DocuElevate</text>
|
||||
<path fill="#3B82F6" transform="translate(0,0)" d="m17.212 20.404l-.108-.885q-.57-.125-.938-.33q-.368-.204-.7-.577l-.835.334l-.539-.815l.689-.577q-.165-.531-.165-1.035t.165-1.034l-.689-.577l.539-.816l.835.335q.332-.393.7-.588q.369-.195.938-.32l.108-.885h1l.107.885q.57.125.938.32t.7.588l.835-.335l.539.816l-.689.576q.166.531.166 1.035t-.166 1.035l.689.577l-.539.815l-.834-.335q-.333.373-.701.578q-.369.205-.938.33l-.107.885zm.5-1.731q.882 0 1.518-.635q.636-.636.636-1.519t-.636-1.518t-1.518-.636t-1.519.636t-.635 1.518t.635 1.519t1.518.635M4 18V6v4.435V10zm.616 1q-.691 0-1.153-.462T3 17.384V6.616q0-.691.463-1.153T4.615 5h4.981l2 2h7.789q.69 0 1.153.463T21 8.616v2.294q-.238-.152-.479-.265q-.24-.112-.521-.21v-1.82q0-.269-.173-.442T19.385 8h-8.19l-2-2h-4.58q-.269 0-.442.173T4 6.616v10.769q0 .269.173.442t.443.173h6.748q.055.275.131.515t.186.485z"/>
|
||||
</g>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 260 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.3 MiB |
@@ -17,5 +17,5 @@
|
||||
</g>
|
||||
|
||||
<!-- Text -->
|
||||
<text class="text" x="28" y="17">DocuNova</text>
|
||||
<text class="text" x="28" y="17">DocuElevate</text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
@@ -7,7 +7,7 @@
|
||||
<h1 class="text-7xl font-extrabold text-blue-600 mb-6">404</h1>
|
||||
<h2 class="text-3xl font-bold text-gray-800 mb-4">Oops, we couldn’t find that page!</h2>
|
||||
<p class="text-gray-600 mb-8">
|
||||
It seems DocuNova has misplaced the document you were looking for. Don’t worry – we’ve got your back.
|
||||
It seems DocuElevate has misplaced the document you were looking for. Don’t worry – we’ve got your back.
|
||||
</p>
|
||||
<a href="/" class="inline-block bg-blue-500 hover:bg-blue-600 text-white font-semibold py-3 px-6 rounded-lg transition-colors">
|
||||
← Return Home
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{% extends "base.html" %}
|
||||
{% block title %}Server Error - DocuNova{% endblock %}
|
||||
{% block title %}Server Error - DocuElevate{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="relative isolate px-6 pt-14 lg:px-8">
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{% extends "base.html" %}
|
||||
{% block title %}About DocuNova{% endblock %}
|
||||
{% block title %}About DocuElevate{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container mx-auto px-4 py-8">
|
||||
<h1 class="text-4xl font-bold mb-4">About DocuNova</h1>
|
||||
<h1 class="text-4xl font-bold mb-4">About DocuElevate</h1>
|
||||
<p class="text-gray-700 mb-6 leading-relaxed">
|
||||
Welcome to <strong>DocuNova</strong> – your modern, intelligent solution for document processing!
|
||||
We’ve built DocuNova to completely transform the way you handle your documents – from upload
|
||||
Welcome to <strong>DocuElevate</strong> – your modern, intelligent solution for document processing!
|
||||
We've built DocuElevate to completely transform the way you handle your documents – from upload
|
||||
to extraction, from processing to storage.
|
||||
</p>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<section class="bg-white shadow rounded p-6 mb-8">
|
||||
<h2 class="text-2xl font-semibold mb-2">Our Story</h2>
|
||||
<p class="text-gray-600 mb-4">
|
||||
DocuNova was created with one goal in mind: to simplify and streamline document management
|
||||
DocuElevate was created with one goal in mind: to simplify and streamline document management
|
||||
for everyone, whether you’re a small startup or a large enterprise.
|
||||
</p>
|
||||
<p class="text-gray-600">
|
||||
@@ -42,7 +42,7 @@
|
||||
<section class="bg-white shadow rounded p-6 mb-8">
|
||||
<h2 class="text-2xl font-semibold mb-2">Meet the Creator</h2>
|
||||
<p class="text-gray-600">
|
||||
DocuNova is passionately developed by
|
||||
DocuElevate is passionately developed by
|
||||
<a href="https://www.christianlouis.de" target="_blank" class="text-blue-600 hover:underline">Christian Krakau-Louis</a>.
|
||||
</p>
|
||||
</section>
|
||||
@@ -51,12 +51,12 @@
|
||||
<section class="bg-white shadow rounded p-6">
|
||||
<h2 class="text-2xl font-semibold mb-2">Get Involved</h2>
|
||||
<p class="text-gray-600 mb-4">
|
||||
Want to dive into the code, contribute ideas, or simply check out the magic behind DocuNova?
|
||||
Want to dive into the code, contribute ideas, or simply check out the magic behind DocuElevate?
|
||||
Visit our GitHub repository!
|
||||
</p>
|
||||
<a href="https://github.com/christianlouis/document-processor" target="_blank" class="flex items-center space-x-2 text-blue-600 hover:text-blue-800">
|
||||
<img src="https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" alt="GitHub Logo" class="h-6 w-6" />
|
||||
<span>View DocuNova on GitHub</span>
|
||||
<span>View DocuElevate on GitHub</span>
|
||||
</a>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>{% block title %}DocuNova{% endblock %}</title>
|
||||
<title>{% block title %}DocuElevate{% endblock %}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<!-- Tailwind CSS or other global CSS references -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
||||
@@ -35,7 +35,7 @@
|
||||
></span>
|
||||
<!-- Text -->
|
||||
<span class="text-xl font-bold text-blue-500 hover:text-blue-700">
|
||||
DocuNova
|
||||
DocuElevate
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
@@ -104,7 +104,7 @@
|
||||
<!-- Footer -->
|
||||
<footer class="bg-white shadow">
|
||||
<div class="max-w-7xl mx-auto px-4 py-4 text-center text-gray-600">
|
||||
DocuNova 2025 - Licensed under <a href="/license" class="text-blue-500 hover:underline">Apache License 2.0</a> -
|
||||
DocuElevate 2025 - Licensed under <a href="/license" class="text-blue-500 hover:underline">Apache License 2.0</a> -
|
||||
<span class="text-xs">Version {{ app_version|default(version, true) }}</span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div class="mb-8">
|
||||
<h1 class="text-3xl font-bold mb-2">Dropbox Integration Setup</h1>
|
||||
<p class="text-gray-600 mb-4">
|
||||
Configure the Dropbox integration for DocuNova using our setup wizard.
|
||||
Configure the Dropbox integration for DocuElevate using our setup wizard.
|
||||
</p>
|
||||
|
||||
<div class="bg-blue-100 border-l-4 border-blue-500 text-blue-700 p-4 my-4" role="alert">
|
||||
@@ -49,7 +49,7 @@
|
||||
<li>Click "Create app"</li>
|
||||
<li>Select "Scoped access" for API</li>
|
||||
<li>Choose "Full Dropbox" access (or "App folder" for more restricted access)</li>
|
||||
<li>Give your app a name (e.g., "DocuNova")</li>
|
||||
<li>Give your app a name (e.g., "DocuElevate")</li>
|
||||
<li>Click "Create app"</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{% extends "base.html" %}
|
||||
{% block title %}Home - DocuNova{% endblock %}
|
||||
{% block title %}Home - DocuElevate{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container mx-auto px-4 py-8">
|
||||
<h1 class="text-4xl font-bold mb-4">Welcome to DocuNova</h1>
|
||||
<h1 class="text-4xl font-bold mb-4">Welcome to DocuElevate</h1>
|
||||
<p class="text-gray-700 mb-8">
|
||||
Your intelligent solution for processing, managing, and organizing documents effortlessly.
|
||||
</p>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}DocuNova - License{% endblock %}
|
||||
{% block title %}DocuElevate - License{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container mx-auto px-4 py-8">
|
||||
@@ -14,7 +14,7 @@
|
||||
</div>
|
||||
|
||||
<p class="mt-4 text-gray-600">
|
||||
DocuNova is distributed under the Apache License 2.0, which is a permissive
|
||||
DocuElevate is distributed under the Apache License 2.0, which is a permissive
|
||||
open-source software license that allows you to use, modify, distribute, and
|
||||
contribute to the project.
|
||||
</p>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div class="mb-8">
|
||||
<h1 class="text-3xl font-bold mb-2">OneDrive Integration Setup</h1>
|
||||
<p class="text-gray-600 mb-4">
|
||||
Configure the Microsoft OneDrive integration for DocuNova using our setup wizard.
|
||||
Configure the Microsoft OneDrive integration for DocuElevate using our setup wizard.
|
||||
</p>
|
||||
|
||||
<div class="bg-blue-100 border-l-4 border-blue-500 text-blue-700 p-4 my-4" role="alert">
|
||||
@@ -48,7 +48,7 @@
|
||||
<li>Go to the <a href="https://portal.azure.com/" target="_blank" class="text-blue-600 hover:underline">Azure Portal</a></li>
|
||||
<li>Navigate to "Azure Active Directory" > "App registrations"</li>
|
||||
<li>Click "New registration"</li>
|
||||
<li>Enter a name for your application (e.g., "DocuNova")</li>
|
||||
<li>Enter a name for your application (e.g., "DocuElevate")</li>
|
||||
<li>For "Supported account types", select:
|
||||
<div class="bg-gray-50 p-2 my-2 rounded text-sm">
|
||||
"Accounts in any organizational directory and personal Microsoft accounts"
|
||||
|
||||