https://github.com/zerdicorp/moex
RESTful service for storing and searching for moex securities.
https://github.com/zerdicorp/moex
akka api moex postgresql rest securities service
Last synced: 2 months ago
JSON representation
RESTful service for storing and searching for moex securities.
- Host: GitHub
- URL: https://github.com/zerdicorp/moex
- Owner: ZERDICORP
- Created: 2022-10-07T16:59:30.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-10-10T18:45:08.000Z (over 3 years ago)
- Last Synced: 2025-04-02T20:48:42.391Z (about 1 year ago)
- Topics: akka, api, moex, postgresql, rest, securities, service
- Language: Scala
- Homepage:
- Size: 45.9 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# moex
#### RESTful service for storing and searching for moex securities.
## Technology stack :wrench:
* ***Scala*** (v2.13.8)
- ***Akka-Http*** (v10.2.4)
- ***Akka-Stream*** (v2.6.14)
- ***Slick*** (v3.3.3)
- ***Cats*** (v2.8.0)
- ***Slf4j*** (v1.7.5)
* ***PostgreSQL*** (v14.0)
* ***SBT*** (v1.7.2)
* ***Docker-Compose*** (v2.6.1)
* ***Liquibase*** (v4.13.0)
## Architecture Solution
The chosen solution is based on the classic layered architecture

- ***Presentation Layer*** represented as ***controllers***
- ***Business Layer*** represented as ***services***
- ***Persistence Layer*** represented as ***repositories***
- ***Database Layer*** represented as ***PostgreSQL***
## «Import and Parsing XML» Solution
Importing and parsing xml works based on message queue and scheduler.
The `xml` table in the database is used as the message queue.
And as a scheduler, the mechanism (Scheduler) built into akka http.
## Launch Guide
#### 1. Open the `local/infra` folder and run the following command:
```
$ sudo docker-compose up
```
#### 2. Open the `src/main/resources/liquibase` folder and run the following command:
```
$ liquibase update-count 1
```
#### 3. Now you can start the project (i'm using IntellijIDEA)