changed format

This commit is contained in:
2026-03-18 04:09:18 +01:00
parent 3941ad913b
commit c6d55277ee
2 changed files with 12 additions and 12 deletions
@@ -1,4 +1,4 @@
# Technical preparation for adding documentation Vassal: Technical preparation for adding documentation
Before documenting all my research for the planning phase of the app there are several technical preparations to arrange: Before documenting all my research for the planning phase of the app there are several technical preparations to arrange:
@@ -7,7 +7,7 @@ Before documenting all my research for the planning phase of the app there are s
* After preparing the container I will connect it to my self hosted Git(ea) repository to ensure a git flow from the very beginning. * After preparing the container I will connect it to my self hosted Git(ea) repository to ensure a git flow from the very beginning.
* To ensure SSL which is recommended for code-server I will use a tunnel with my Pangolin instance and Cloudflare as DNS resolver. This is a temporary solution later it will be changed to a self signed cert with Caddy. * To ensure SSL which is recommended for code-server I will use a tunnel with my Pangolin instance and Cloudflare as DNS resolver. This is a temporary solution later it will be changed to a self signed cert with Caddy.
## Code-Server docker container deployment # Code-Server docker container deployment
I use Portainer to setup my docker-compose yaml: I use Portainer to setup my docker-compose yaml:
@@ -1,18 +1,18 @@
# Project: Vassal Vassal: Product and technical vision
## Product vision # Product vision
Vassal is an AI-powered bridge designed to connect physical reality to digital management systems. It functions as an intelligent intermediary that performs image analysis and semantic search, enriching raw data before "serving" it to a primary application via REST API. Vassal is an AI-powered bridge designed to connect physical reality to digital management systems. It functions as an intelligent intermediary that performs image analysis and semantic search, enriching raw data before "serving" it to a primary application via REST API.
## Technical requirements & stack # Technical requirements & stack
### Frontend ## Frontend
- Framework: Next.js (React) - Framework: Next.js (React)
- Styling: Tailwind CSS + SCSS - Styling: Tailwind CSS + SCSS
- Core Task: Provide a streamlined interface for capturing or uploading photos (single or multi-item) and a dedicated UI for reviewing AI-generated metadata. - Core Task: Provide a streamlined interface for capturing or uploading photos (single or multi-item) and a dedicated UI for reviewing AI-generated metadata.
### Backend ## Backend
- Framework: Spring Boot - Framework: Spring Boot
- AI Orchestration: Spring AI - AI Orchestration: Spring AI
@@ -21,20 +21,20 @@ Vassal is an AI-powered bridge designed to connect physical reality to digital m
- Core Task: Managing the lifecycle of an item from initial photo upload to final API export. - Core Task: Managing the lifecycle of an item from initial photo upload to final API export.
### Database ## Database
- System: PostgreSQL + pgvector (initial iteration) - System: PostgreSQL + pgvector (initial iteration)
- Role: Acts as the vector store for intelligent search and the engine for the image processing - Role: Acts as the vector store for intelligent search and the engine for the image processing
## Functionality # Functionality
### Intelligent search ## Intelligent search
Vassal does not rely on exact word matching. Because it stores data in a vector-capable database, users can search via Natural Language Prompts. Vassal does not rely on exact word matching. Because it stores data in a vector-capable database, users can search via Natural Language Prompts.
Example: Searching for "tool to tighten a bolt" will return a "Wrench," even if the word "bolt" or "tighten" isn't in the item's title. Example: Searching for "tool to tighten a bolt" will return a "Wrench," even if the word "bolt" or "tighten" isn't in the item's title.
Process: The search prompt is converted into a vector by the AI, and Postgres performs a "Cosine Similarity" check to find the closest matches in the staging or history tables. Process: The search prompt is converted into a vector by the AI, and Postgres performs a "Cosine Similarity" check to find the closest matches in the staging or history tables.
### Image processing workflow (Start to Finish) ## Image processing workflow (Start to Finish)
The image processing is the heart of Vassals "bridge" functionality. It ensures data quality before it reaches your primary app. The image processing is the heart of Vassals "bridge" functionality. It ensures data quality before it reaches your primary app.
- Ingestion: When a photo is uploaded, the raw image and its initial metadata are saved into a temporary staging table in Postgres. - Ingestion: When a photo is uploaded, the raw image and its initial metadata are saved into a temporary staging table in Postgres.
@@ -49,7 +49,7 @@ The image processing is the heart of Vassals "bridge" functionality. It ensur
- Cleanup: Upon successful export, the staged record is either archived or removed from the local database, keeping the bridge lean. - Cleanup: Upon successful export, the staged record is either archived or removed from the local database, keeping the bridge lean.
### Deployment ## Deployment
Vassal is deployed via Docker Compose for high portability. Vassal is deployed via Docker Compose for high portability.
- Container 1: Next.js (Web UI) - Container 1: Next.js (Web UI)