The application serves as a cloud storage where users can upload documents in pdf, odt, and docx formats.
The main function of the system is to provide convenient access to files. To achieve this, the following context search systems are implemented:
- Apache Lucene - full-text search.
- DeepPavlov Context Question Answering - neural context search based on the squad_ru_bert model. This neural system finds the answer to the user's question within the provided context. The answer is a text fragment that answers the question.
Additional features:
- Storage management functions are implemented in the file system. File management panel:
- Secure deletion to the recycle bin.
- Authorization system using SpringSecurity (Don't forget to configure access through
SecurityConfig.java
. In the repository, it is commented out)
Admin user initialization:
curl -X POST http://localhost:8080/api/add_user -H 'Content-Type: application/json' -d '
{
"name" : "admin",
"password" : "admin",
"roles" : "ROLE_ADMIN"
}'
____________________
Build:
- Postgres
docker run -d \
--name postgres_container \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=admin \
-e POSTGRES_DB=archive-users \
-p 5432:5432 \
-v <your_data_path>:/var/lib/postgresql/data \
--restart always \
postgres:16
- DeepPavlov
Example of launching Rest API
server_config.json
for this{ "common_defaults": { "host": "127.0.0.1", "port": 5088, "model_args_names": [], "https": false, "https_cert_path": "", "https_key_path": "", "socket_type": "TCP", "unix_socket_file": "/tmp/deeppavlov_socket.s", "socket_launch_message": "launching socket server at" } }
Futures:
- Docker container