# DocuPulse A modern document management and processing system. ## Description DocuPulse is a powerful document management system designed to streamline document processing, organization, and retrieval. ## Getting Started ### Prerequisites - Python 3.11 or higher - PostgreSQL 13 or higher - Docker and Docker Compose (for containerized deployment) ### Installation 1. Clone the repository: ```bash git clone https://git.kobeamerijckx.com/Kobe/docupulse.git cd docupulse ``` 2. Install dependencies: ```bash pip install -r requirements.txt ``` 3. Set up environment variables: ```bash # Copy example environment file cp .env.example .env # Set version information for local development python set_version.py ``` 4. Initialize the database: ```bash flask db upgrade flask create-admin ``` 5. Start the development server: ```bash python app.py ``` ## Version Tracking DocuPulse uses a database-only approach for version tracking: - **Environment Variables**: Version information is passed via environment variables (`APP_VERSION`, `GIT_COMMIT`, `GIT_BRANCH`, `DEPLOYED_AT`) - **Database Storage**: Instance version information is stored in the `instances` table - **API Endpoint**: Version information is available via `/api/version` ### Setting Version Information For local development: ```bash python set_version.py ``` For production deployments, set the following environment variables: - `APP_VERSION`: Application version/tag - `GIT_COMMIT`: Git commit hash - `GIT_BRANCH`: Git branch name - `DEPLOYED_AT`: Deployment timestamp ## Features - Document upload and management - Advanced search capabilities - Secure document storage - User authentication and authorization - Document version control - Multi-tenant instance management - RESTful API ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. ## License This project is licensed under the MIT License - see the LICENSE file for details.