https://github.com/kanitakadusic/si-docflow-server
Document processing system
https://github.com/kanitakadusic/si-docflow-server
ai nodejs ocr postgresql sequelize server typescript
Last synced: about 2 months ago
JSON representation
Document processing system
- Host: GitHub
- URL: https://github.com/kanitakadusic/si-docflow-server
- Owner: kanitakadusic
- License: mit
- Created: 2025-04-01T23:48:03.000Z (about 1 year ago)
- Default Branch: dev
- Last Pushed: 2025-06-12T08:34:10.000Z (about 1 year ago)
- Last Synced: 2025-12-05T18:28:05.731Z (7 months ago)
- Topics: ai, nodejs, ocr, postgresql, sequelize, server, typescript
- Language: TypeScript
- Homepage:
- Size: 86.6 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# docflow-server
> document processing system
This repository contains the processing server for a document processing system. It receives documents from a Windows application, processes them using OCR services, and maps extracted data to predefined layouts. After processing, the data is sent back for user verification and correction. Once finalized, the server forwards the document based on configured rules, such as saving it locally, uploading via FTP, or sending it to an external API. This repo focuses on the processing server, which interacts with separate repositories for the [Windows application](https://github.com/kanitakadusic/si-docflow-windows.git) and [admin dashboard](https://github.com/HarisMalisevic/si-docflow-admin.git).
## Architecture 🗂️
The component diagram of the system is provided below.

## How to Use ⚙️
> To clone and run this application, you will need [Git](https://git-scm.com/), [Node.js](https://nodejs.org/) and [PostgreSQL](https://www.postgresql.org/download/).
### Option 1: Using processing server independently
To set up and run the application independently, follow steps **1** through **4** below. After initial setup, step **5** covers ongoing development.
### Option 2: Using admin dashboard together with processing server
For a complete setup, first follow the instructions in the [si-docflow-admin](https://github.com/HarisMalisevic/si-docflow-admin) repository. Then, proceed with steps **1**, **2** and **5** below for the processing server.
---
#### 1. Environment Setup & Dependency Installation
```
# Clone the repository
$ git clone https://github.com/kanitakadusic/si-docflow-server.git
# Navigate to the project directory
$ cd si-docflow-server
# Install all dependencies
$ npm install
```
#### 2. Configuration File Setup
Create a _.env_ file in the project root with required environment variables. See [env-setup.md](./documentation/env-setup.md) for details.
#### 3. Code Build & Database Seed
```
# Compile TypeScript to JavaScript
$ npm run build
# Load and export environment variables
$ npm run vars
# Create database tables and insert seed data
$ npm run seed
```
#### 4. Bootstrap & Application Startup
```
# Perform initial setup tasks
$ npm run bootstrap
# Start the application
$ npm run serve
```
#### 5. Development
```
# For further development
$ npm run dev
```
## Documentation 📚
- [Environment Variables Setup](./documentation/env-setup.md)
- [API documentation](https://docflow-server.up.railway.app/api-docs/)
- [Questions and Answers](./documentation/q&a.md)
## Instructional Videos 🎥
👉 [Click here to watch the local setup video](https://drive.google.com/file/d/1wA7gXKN9DZgM2DjyqakIQcsxJYVoVDWQ/view?usp=sharing) (4 minutes 39 seconds)
👉 [Click here to watch the Railway deployment video](https://drive.google.com/file/d/1AthoUzsoxkc6dAKwPNVe76llghace6MH/view?usp=sharing) (10 minutes 26 seconds)