87 lines
1.9 KiB
Markdown
87 lines
1.9 KiB
Markdown
# 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. |