feat: rename project from DocuNova to DocuElevate, update related documentation and templates
@@ -2,7 +2,7 @@
|
|||||||
WORKDIR=/workdir
|
WORKDIR=/workdir
|
||||||
DATABASE_URL=sqlite:///./app/database.db
|
DATABASE_URL=sqlite:///./app/database.db
|
||||||
REDIS_URL=redis://redis:6379/0
|
REDIS_URL=redis://redis:6379/0
|
||||||
EXTERNAL_HOSTNAME=docunova.example.com
|
EXTERNAL_HOSTNAME=docuelevate.example.com
|
||||||
GOTENBERG_URL=http://gotenberg:3000
|
GOTENBERG_URL=http://gotenberg:3000
|
||||||
ALLOW_FILE_DELETE=true # Allow deletion of file records
|
ALLOW_FILE_DELETE=true # Allow deletion of file records
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@ ADMIN_PASSWORD=your_secure_password
|
|||||||
# **OpenID Connect/Authentik Settings**
|
# **OpenID Connect/Authentik Settings**
|
||||||
AUTHENTIK_CLIENT_ID=<yourAuthentikAppClientID>
|
AUTHENTIK_CLIENT_ID=<yourAuthentikAppClientID>
|
||||||
AUTHENTIK_CLIENT_SECRET=<yourAuthentikAppClientSecret>
|
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**
|
# **AI/ML Services**
|
||||||
# OpenAI
|
# OpenAI
|
||||||
@@ -31,10 +31,10 @@ AZURE_AI_KEY=<AZURE_AI_KEY>
|
|||||||
# **Email Settings**
|
# **Email Settings**
|
||||||
EMAIL_HOST=smtp.example.com
|
EMAIL_HOST=smtp.example.com
|
||||||
EMAIL_PORT=587
|
EMAIL_PORT=587
|
||||||
EMAIL_USERNAME=docunova@example.com
|
EMAIL_USERNAME=docuelevate@example.com
|
||||||
EMAIL_PASSWORD=your_secure_email_password
|
EMAIL_PASSWORD=your_secure_email_password
|
||||||
EMAIL_USE_TLS=True
|
EMAIL_USE_TLS=True
|
||||||
EMAIL_SENDER=DocuNova System <docunova@example.com>
|
EMAIL_SENDER=DocuElevate System <docuelevate@example.com>
|
||||||
EMAIL_DEFAULT_RECIPIENT=recipient@example.com
|
EMAIL_DEFAULT_RECIPIENT=recipient@example.com
|
||||||
|
|
||||||
# **IMAP Settings**
|
# **IMAP Settings**
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ jobs:
|
|||||||
- name: Build and push
|
- name: Build and push
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
tags: "${{ vars.DOCKER_USER }}/docunova:latest"
|
tags: "${{ vars.DOCKER_USER }}/docuelevate:latest"
|
||||||
outputs: ${{ github.event_name == 'pull_request' && 'type=cacheonly' || 'type=registry' }}
|
outputs: ${{ github.event_name == 'pull_request' && 'type=cacheonly' || 'type=registry' }}
|
||||||
provenance: mode=max
|
provenance: mode=max
|
||||||
sbom: true
|
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
|
## Code of Conduct
|
||||||
|
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ Apache License
|
|||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
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");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
<div align="center">
|
<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>
|
<p>Intelligent Document Processing & Management</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
# DocuNova
|
# DocuElevate
|
||||||
|
|
||||||
## Overview
|
## 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.
|
- **OpenAI** for metadata extraction and text refinement.
|
||||||
- **Dropbox**, **Nextcloud**, and **Google Drive** for file storage and uploads.
|
- **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
|
## 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
|
- [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
|
- [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
|
- [Troubleshooting](docs/Troubleshooting.md) - Common issues and solutions
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
<div align="center">
|
<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>
|
<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>
|
<p><em>Files view with processed documents and metadata</em></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Workflow Process
|
## Workflow Process
|
||||||
|
|
||||||
DocuNova follows a streamlined document processing workflow:
|
DocuElevate follows a streamlined document processing workflow:
|
||||||
|
|
||||||
<div align="center">
|
<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>
|
</div>
|
||||||
|
|
||||||
### Document Ingestion
|
### 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
|
1. **Web Upload**: Users manually upload files via the web interface
|
||||||
2. **Email Attachments**: Automatic polling of configured IMAP mailboxes (supports multiple accounts)
|
2. **Email Attachments**: Automatic polling of configured IMAP mailboxes (supports multiple accounts)
|
||||||
3. **API**: Direct programmatic uploads via the REST API
|
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"
|
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)
|
# 1) Session Middleware (for request.session to work)
|
||||||
app.add_middleware(SessionMiddleware, secret_key=SESSION_SECRET)
|
app.add_middleware(SessionMiddleware, secret_key=SESSION_SECRET)
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ def extract_metadata_from_file(file_path):
|
|||||||
return metadata
|
return metadata
|
||||||
|
|
||||||
def attach_logo(msg):
|
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:
|
||||||
# Try to find logo in workdir first (for customization)
|
# Try to find logo in workdir first (for customization)
|
||||||
custom_logo_path = os.path.join(settings.workdir, "templates", "email", "logo.png")
|
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}
|
return {"status": "Skipped", "reason": error}
|
||||||
|
|
||||||
# Use provided subject or create default
|
# 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
|
# Extract document metadata if available
|
||||||
metadata = {}
|
metadata = {}
|
||||||
@@ -215,7 +215,7 @@ def upload_to_email(file_path: str, recipients=None, subject=None, message=None,
|
|||||||
context = {
|
context = {
|
||||||
"filename": filename,
|
"filename": filename,
|
||||||
"message": message or f"Attached is the document: {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,
|
"app_url": f"https://{settings.external_hostname}" if settings.external_hostname else None,
|
||||||
"custom_message": message,
|
"custom_message": message,
|
||||||
"metadata": metadata,
|
"metadata": metadata,
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ def upload_to_google_drive(file_path: str, include_metadata=True):
|
|||||||
|
|
||||||
# Add minimal appProperties
|
# Add minimal appProperties
|
||||||
file_metadata['appProperties'] = {
|
file_metadata['appProperties'] = {
|
||||||
'docunova': 'true'
|
'docuelevate': 'true'
|
||||||
}
|
}
|
||||||
|
|
||||||
# Add metadata to file description for better visibility in Google Drive UI
|
# Add metadata to file description for better visibility in Google Drive UI
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Document from DocuNova</title>
|
<title>Document from DocuElevate</title>
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="header">
|
<div class="header">
|
||||||
{% if has_logo %}
|
{% if has_logo %}
|
||||||
<img src="cid:logo" alt="DocuNova Logo" class="logo">
|
<img src="cid:logo" alt="DocuElevate Logo" class="logo">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<h1>Document Delivery</h1>
|
<h1>Document Delivery</h1>
|
||||||
</div>
|
</div>
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
{% if custom_message %}
|
{% if custom_message %}
|
||||||
{{ custom_message }}
|
{{ custom_message }}
|
||||||
{% else %}
|
{% else %}
|
||||||
A document has been shared with you from DocuNova.
|
A document has been shared with you from DocuElevate.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -148,14 +148,14 @@
|
|||||||
|
|
||||||
{% if app_url %}
|
{% if app_url %}
|
||||||
<p>
|
<p>
|
||||||
<a href="{{ app_url }}" class="button">Visit DocuNova</a>
|
<a href="{{ app_url }}" class="button">Visit DocuElevate</a>
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<p>This is an automated message from DocuNova Document Processing System.</p>
|
<p>This is an automated message from DocuElevate Document Processing System.</p>
|
||||||
<p>© {{ now().year }} DocuNova</p>
|
<p>© {{ now().year }} DocuElevate</p>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
# API Documentation
|
# 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
|
## API Overview
|
||||||
|
|
||||||
- Base URL: `http://<your-docunova-instance>/api`
|
- Base URL: `http://<your-docuelevate-instance>/api`
|
||||||
- Authentication: OAuth2 (when enabled)
|
- Authentication: OAuth2 (when enabled)
|
||||||
- Response Format: JSON
|
- 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:
|
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.
|
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:
|
When authentication is enabled, you must include an authentication token in your requests:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X GET "http://<your-docunova-instance>/api/files" \
|
curl -X GET "http://<your-docuelevate-instance>/api/files" \
|
||||||
-H "Authorization: Bearer <your-token>"
|
-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.
|
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
|
## Further Assistance
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Setting up Amazon S3 Integration
|
# 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
|
## 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/)
|
1. Go to the [AWS IAM Console](https://console.aws.amazon.com/iam/)
|
||||||
2. Navigate to "Users" and click "Add users"
|
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"
|
4. For access type, select "Programmatic access"
|
||||||
5. Click "Next: Permissions"
|
5. Click "Next: Permissions"
|
||||||
6. Choose "Attach existing policies directly" and search for "AmazonS3FullAccess"
|
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
|
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
|
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
|
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")
|
2. Set `AWS_REGION` to the region where your bucket was created (e.g., "us-east-1")
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Configuration Guide
|
# 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
|
## 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` |
|
| `REDIS_URL` | URL for Redis, used by Celery for broker & result store. | `redis://redis:6379/0` |
|
||||||
| `WORKDIR` | Working directory for the application. | `/workdir` |
|
| `WORKDIR` | Working directory for the application. | `/workdir` |
|
||||||
| `GOTENBERG_URL` | Gotenberg PDF processing URL. | `http://gotenberg:3000` |
|
| `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` |
|
| `ALLOW_FILE_DELETE` | Enable file deletion in the web interface (`true`/`false`). | `true` |
|
||||||
|
|
||||||
### IMAP Configuration
|
### 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** |
|
| **Variable** | **Description** | **Example** |
|
||||||
|-------------------------------|--------------------------------------------------------------|-------------------|
|
|-------------------------------|--------------------------------------------------------------|-------------------|
|
||||||
@@ -127,7 +127,7 @@ For detailed setup instructions, see the [Google Drive Setup Guide](GoogleDriveS
|
|||||||
| `EMAIL_USERNAME` | SMTP authentication username. |
|
| `EMAIL_USERNAME` | SMTP authentication username. |
|
||||||
| `EMAIL_PASSWORD` | SMTP authentication password. |
|
| `EMAIL_PASSWORD` | SMTP authentication password. |
|
||||||
| `EMAIL_USE_TLS` | Whether to use TLS (default: `True`). |
|
| `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. |
|
| `EMAIL_DEFAULT_RECIPIENT` | Default recipient email if none specified in the task. |
|
||||||
|
|
||||||
### OneDrive / Microsoft Graph
|
### OneDrive / Microsoft Graph
|
||||||
@@ -167,7 +167,7 @@ For detailed setup instructions, see the [Amazon S3 Setup Guide](AmazonS3Setup.m
|
|||||||
|
|
||||||
### Minimal Configuration
|
### 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
|
```dotenv
|
||||||
DATABASE_URL=sqlite:///./app/database.db
|
DATABASE_URL=sqlite:///./app/database.db
|
||||||
@@ -184,7 +184,7 @@ DATABASE_URL=sqlite:///./app/database.db
|
|||||||
REDIS_URL=redis://redis:6379/0
|
REDIS_URL=redis://redis:6379/0
|
||||||
WORKDIR=/workdir
|
WORKDIR=/workdir
|
||||||
GOTENBERG_URL=http://gotenberg:3000
|
GOTENBERG_URL=http://gotenberg:3000
|
||||||
EXTERNAL_HOSTNAME=docunova.example.com
|
EXTERNAL_HOSTNAME=docuelevate.example.com
|
||||||
ALLOW_FILE_DELETE=true
|
ALLOW_FILE_DELETE=true
|
||||||
|
|
||||||
# IMAP settings
|
# IMAP settings
|
||||||
@@ -254,10 +254,10 @@ SFTP_FOLDER=/Documents/Uploads
|
|||||||
# Email
|
# Email
|
||||||
EMAIL_HOST=smtp.example.com
|
EMAIL_HOST=smtp.example.com
|
||||||
EMAIL_PORT=587
|
EMAIL_PORT=587
|
||||||
EMAIL_USERNAME=docunova@example.com
|
EMAIL_USERNAME=docuelevate@example.com
|
||||||
EMAIL_PASSWORD=password
|
EMAIL_PASSWORD=password
|
||||||
EMAIL_USE_TLS=True
|
EMAIL_USE_TLS=True
|
||||||
EMAIL_SENDER=DocuNova System <docunova@example.com>
|
EMAIL_SENDER=DocuElevate System <docuelevate@example.com>
|
||||||
EMAIL_DEFAULT_RECIPIENT=recipient@example.com
|
EMAIL_DEFAULT_RECIPIENT=recipient@example.com
|
||||||
|
|
||||||
# OneDrive (Personal Account)
|
# 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
|
## 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
|
## Documentation Sections
|
||||||
|
|
||||||
@@ -28,7 +28,7 @@ DATABASE_URL=sqlite:///./app/database.db
|
|||||||
REDIS_URL=redis://redis:6379/0
|
REDIS_URL=redis://redis:6379/0
|
||||||
WORKDIR=/workdir
|
WORKDIR=/workdir
|
||||||
GOTENBERG_URL=http://gotenberg:3000
|
GOTENBERG_URL=http://gotenberg:3000
|
||||||
EXTERNAL_HOSTNAME=docunova.example.com
|
EXTERNAL_HOSTNAME=docuelevate.example.com
|
||||||
|
|
||||||
# Enable only the services you need
|
# Enable only the services you need
|
||||||
# For detailed parameters, see the Configuration Guide
|
# For detailed parameters, see the Configuration Guide
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Configuration Troubleshooting Guide
|
# 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
|
## SMTP Email Configuration
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ When you see errors like "Settings object has no attribute 'nextcloud_url'" or s
|
|||||||
#### Dropbox
|
#### Dropbox
|
||||||
```
|
```
|
||||||
DROPBOX_TOKEN=your_oauth2_token
|
DROPBOX_TOKEN=your_oauth2_token
|
||||||
DROPBOX_FOLDER=/DocuNova
|
DROPBOX_FOLDER=/DocuElevate
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Nextcloud
|
#### Nextcloud
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Deployment Guide
|
# Deployment Guide
|
||||||
|
|
||||||
This guide provides instructions for deploying DocuNova in various environments.
|
This guide provides instructions for deploying DocuElevate in various environments.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ This guide provides instructions for deploying DocuNova in various environments.
|
|||||||
|
|
||||||
## Docker Deployment
|
## Docker Deployment
|
||||||
|
|
||||||
Docker is the recommended deployment method for DocuNova.
|
Docker is the recommended deployment method for DocuElevate.
|
||||||
|
|
||||||
### Step 1: Clone the Repository
|
### Step 1: Clone the Repository
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ docker-compose up -d
|
|||||||
```
|
```
|
||||||
|
|
||||||
This will start:
|
This will start:
|
||||||
- The DocuNova API server
|
- The DocuElevate API server
|
||||||
- A worker for background tasks
|
- A worker for background tasks
|
||||||
- Redis for message broker and result storage
|
- Redis for message broker and result storage
|
||||||
- Gotenberg for PDF processing
|
- Gotenberg for PDF processing
|
||||||
@@ -60,7 +60,7 @@ For production use, we recommend setting up a reverse proxy (like Nginx or Traef
|
|||||||
```nginx
|
```nginx
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
server_name docunova.example.com;
|
server_name docuelevate.example.com;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://localhost:8000;
|
proxy_pass http://localhost:8000;
|
||||||
@@ -107,7 +107,7 @@ worker:
|
|||||||
|
|
||||||
## Monitoring
|
## Monitoring
|
||||||
|
|
||||||
Monitor your DocuNova deployment using:
|
Monitor your DocuElevate deployment using:
|
||||||
|
|
||||||
- Docker's built-in logging: `docker-compose logs -f`
|
- Docker's built-in logging: `docker-compose logs -f`
|
||||||
- Container metrics: `docker stats`
|
- Container metrics: `docker stats`
|
||||||
@@ -123,7 +123,7 @@ Regularly back up the following:
|
|||||||
|
|
||||||
## Updates
|
## Updates
|
||||||
|
|
||||||
To update DocuNova to a newer version:
|
To update DocuElevate to a newer version:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Pull the latest changes
|
# Pull the latest changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Setting up Dropbox Integration
|
# 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
|
## 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:
|
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
|
2. Follow the on-screen instructions to create a Dropbox app
|
||||||
3. Enter your App Key and App Secret in the wizard
|
3. Enter your App Key and App Secret in the wizard
|
||||||
4. Optionally specify a custom folder path for uploads
|
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"
|
2. Click "Create app"
|
||||||
3. Select "Scoped access" for API
|
3. Select "Scoped access" for API
|
||||||
4. Choose "Full Dropbox" access (or "App folder" for more restricted access)
|
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"
|
6. Click "Create app"
|
||||||
|
|
||||||
### 2. Configure App Permissions
|
### 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
|
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
|
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`)
|
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:
|
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
|
2. Click the "Test Token" button to verify your credentials
|
||||||
3. If the test fails, click "Refresh Token" to obtain a new refresh token
|
3. If the test fails, click "Refresh Token" to obtain a new refresh token
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Setting up Google Drive Integration
|
# 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
|
## 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`)
|
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
|
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
|
1. Open the downloaded JSON key file
|
||||||
2. Set the entire JSON content as the `GOOGLE_DRIVE_CREDENTIALS_JSON` environment variable
|
2. Set the entire JSON content as the `GOOGLE_DRIVE_CREDENTIALS_JSON` environment variable
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Setting up OneDrive Integration
|
# 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
|
## 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/)
|
1. Go to the [Azure Portal](https://portal.azure.com/)
|
||||||
2. Navigate to "Azure Active Directory" > "App registrations"
|
2. Navigate to "Azure Active Directory" > "App registrations"
|
||||||
3. Click "New registration"
|
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:
|
5. For "Supported account types", select the appropriate option:
|
||||||
- For personal accounts: "Accounts in any organizational directory and personal Microsoft accounts"
|
- For personal accounts: "Accounts in any organizational directory and personal Microsoft accounts"
|
||||||
- For corporate accounts only: "Accounts in this organizational directory only"
|
- 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
|
## 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
|
- [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](ConfigurationMaster.md) - Overview of configuration options, including:
|
||||||
- [Configuration Guide](ConfigurationGuide.md) - Complete list of all available configuration parameters
|
- [Configuration Guide](ConfigurationGuide.md) - Complete list of all available configuration parameters
|
||||||
- [Google Drive Setup](GoogleDriveSetup.md) - How to set up Google Drive integration
|
- [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
|
## 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
|
- [License Information](../LICENSE) - Apache License 2.0 details
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
@@ -31,10 +31,13 @@ If you need additional assistance beyond what's covered in these guides:
|
|||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||

|

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

|

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

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

|

|
||||||
*DocuNova processing workflow*
|
*DocuElevate processing workflow*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Troubleshooting Guide
|
# 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
|
## Common Issues
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
# User Guide
|
# 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
|
## 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
|
### 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
|
2. If authentication is enabled, you'll be prompted to log in using your credentials
|
||||||
|
|
||||||
### Main Interface
|
### 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
|
- **Home**: Dashboard and overview
|
||||||
- **Upload**: For adding new documents to the system
|
- **Upload**: For adding new documents to the system
|
||||||
- **Files**: For viewing and managing processed documents
|
- **Files**: For viewing and managing processed documents
|
||||||
- **About**: Information about DocuNova
|
- **About**: Information about DocuElevate
|
||||||
|
|
||||||
## Uploading Documents
|
## Uploading Documents
|
||||||
|
|
||||||
@@ -31,10 +31,10 @@ DocuNova features a simple navigation system with the following main sections:
|
|||||||
|
|
||||||
### Email Attachments
|
### 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
|
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
|
3. Attachments will be automatically downloaded and processed
|
||||||
4. No further action is required
|
4. No further action is required
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ The **Files** page provides access to all processed documents:
|
|||||||
|
|
||||||
## Document Processing Features
|
## 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
|
- **OCR** - Extract text from images and scanned PDFs
|
||||||
- **Metadata Extraction** - Automatically identify document types, dates, and other key information
|
- **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
|
## 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
|
2. The interactive Swagger documentation allows you to test API endpoints directly
|
||||||
3. Obtain an API token if authentication is enabled
|
3. Obtain an API token if authentication is enabled
|
||||||
|
|
||||||
## Troubleshooting
|
## 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) -->
|
<!-- Background box (optional) -->
|
||||||
<rect x="40" y="40" width="720" height="520" class="label-bg" />
|
<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)">
|
<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"/>
|
<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>
|
</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>
|
</g>
|
||||||
|
|
||||||
<!-- Text -->
|
<!-- Text -->
|
||||||
<text class="text" x="28" y="17">DocuNova</text>
|
<text class="text" x="28" y="17">DocuElevate</text>
|
||||||
</svg>
|
</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>
|
<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>
|
<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">
|
<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>
|
</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">
|
<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
|
← Return Home
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
{% block title %}Server Error - DocuNova{% endblock %}
|
{% block title %}Server Error - DocuElevate{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="relative isolate px-6 pt-14 lg:px-8">
|
<div class="relative isolate px-6 pt-14 lg:px-8">
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
{% block title %}About DocuNova{% endblock %}
|
{% block title %}About DocuElevate{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container mx-auto px-4 py-8">
|
<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">
|
<p class="text-gray-700 mb-6 leading-relaxed">
|
||||||
Welcome to <strong>DocuNova</strong> – your modern, intelligent solution for document processing!
|
Welcome to <strong>DocuElevate</strong> – your modern, intelligent solution for document processing!
|
||||||
We’ve built DocuNova to completely transform the way you handle your documents – from upload
|
We've built DocuElevate to completely transform the way you handle your documents – from upload
|
||||||
to extraction, from processing to storage.
|
to extraction, from processing to storage.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<section class="bg-white shadow rounded p-6 mb-8">
|
<section class="bg-white shadow rounded p-6 mb-8">
|
||||||
<h2 class="text-2xl font-semibold mb-2">Our Story</h2>
|
<h2 class="text-2xl font-semibold mb-2">Our Story</h2>
|
||||||
<p class="text-gray-600 mb-4">
|
<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.
|
for everyone, whether you’re a small startup or a large enterprise.
|
||||||
</p>
|
</p>
|
||||||
<p class="text-gray-600">
|
<p class="text-gray-600">
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<section class="bg-white shadow rounded p-6 mb-8">
|
<section class="bg-white shadow rounded p-6 mb-8">
|
||||||
<h2 class="text-2xl font-semibold mb-2">Meet the Creator</h2>
|
<h2 class="text-2xl font-semibold mb-2">Meet the Creator</h2>
|
||||||
<p class="text-gray-600">
|
<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>.
|
<a href="https://www.christianlouis.de" target="_blank" class="text-blue-600 hover:underline">Christian Krakau-Louis</a>.
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
@@ -51,12 +51,12 @@
|
|||||||
<section class="bg-white shadow rounded p-6">
|
<section class="bg-white shadow rounded p-6">
|
||||||
<h2 class="text-2xl font-semibold mb-2">Get Involved</h2>
|
<h2 class="text-2xl font-semibold mb-2">Get Involved</h2>
|
||||||
<p class="text-gray-600 mb-4">
|
<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!
|
Visit our GitHub repository!
|
||||||
</p>
|
</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">
|
<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" />
|
<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>
|
</a>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<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" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<!-- Tailwind CSS or other global CSS references -->
|
<!-- Tailwind CSS or other global CSS references -->
|
||||||
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
></span>
|
></span>
|
||||||
<!-- Text -->
|
<!-- Text -->
|
||||||
<span class="text-xl font-bold text-blue-500 hover:text-blue-700">
|
<span class="text-xl font-bold text-blue-500 hover:text-blue-700">
|
||||||
DocuNova
|
DocuElevate
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
<!-- Footer -->
|
<!-- Footer -->
|
||||||
<footer class="bg-white shadow">
|
<footer class="bg-white shadow">
|
||||||
<div class="max-w-7xl mx-auto px-4 py-4 text-center text-gray-600">
|
<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>
|
<span class="text-xs">Version {{ app_version|default(version, true) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<div class="mb-8">
|
<div class="mb-8">
|
||||||
<h1 class="text-3xl font-bold mb-2">Dropbox Integration Setup</h1>
|
<h1 class="text-3xl font-bold mb-2">Dropbox Integration Setup</h1>
|
||||||
<p class="text-gray-600 mb-4">
|
<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>
|
</p>
|
||||||
|
|
||||||
<div class="bg-blue-100 border-l-4 border-blue-500 text-blue-700 p-4 my-4" role="alert">
|
<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>Click "Create app"</li>
|
||||||
<li>Select "Scoped access" for API</li>
|
<li>Select "Scoped access" for API</li>
|
||||||
<li>Choose "Full Dropbox" access (or "App folder" for more restricted access)</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>
|
<li>Click "Create app"</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
{% block title %}Home - DocuNova{% endblock %}
|
{% block title %}Home - DocuElevate{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container mx-auto px-4 py-8">
|
<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">
|
<p class="text-gray-700 mb-8">
|
||||||
Your intelligent solution for processing, managing, and organizing documents effortlessly.
|
Your intelligent solution for processing, managing, and organizing documents effortlessly.
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}DocuNova - License{% endblock %}
|
{% block title %}DocuElevate - License{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="container mx-auto px-4 py-8">
|
<div class="container mx-auto px-4 py-8">
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="mt-4 text-gray-600">
|
<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
|
open-source software license that allows you to use, modify, distribute, and
|
||||||
contribute to the project.
|
contribute to the project.
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<div class="mb-8">
|
<div class="mb-8">
|
||||||
<h1 class="text-3xl font-bold mb-2">OneDrive Integration Setup</h1>
|
<h1 class="text-3xl font-bold mb-2">OneDrive Integration Setup</h1>
|
||||||
<p class="text-gray-600 mb-4">
|
<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>
|
</p>
|
||||||
|
|
||||||
<div class="bg-blue-100 border-l-4 border-blue-500 text-blue-700 p-4 my-4" role="alert">
|
<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>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>Navigate to "Azure Active Directory" > "App registrations"</li>
|
||||||
<li>Click "New registration"</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:
|
<li>For "Supported account types", select:
|
||||||
<div class="bg-gray-50 p-2 my-2 rounded text-sm">
|
<div class="bg-gray-50 p-2 my-2 rounded text-sm">
|
||||||
"Accounts in any organizational directory and personal Microsoft accounts"
|
"Accounts in any organizational directory and personal Microsoft accounts"
|
||||||
|
|||||||