https://github.com/MiniaczQ/apsi-document-versioning
Document versioning web application.
https://github.com/MiniaczQ/apsi-document-versioning
react rust versioning
Last synced: 10 months ago
JSON representation
Document versioning web application.
- Host: GitHub
- URL: https://github.com/MiniaczQ/apsi-document-versioning
- Owner: MiniaczQ
- Archived: true
- Created: 2023-03-27T10:10:14.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-30T15:39:23.000Z (almost 3 years ago)
- Last Synced: 2025-04-01T08:26:50.804Z (about 1 year ago)
- Topics: react, rust, versioning
- Language: TypeScript
- Homepage:
- Size: 1.69 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
This is a document versioning application made for a college course.
# Requirements
Set environmental variable `DOCKER_BUILDKIT=1`
# Running
>This environment hosts the entire application on `localhost:3000`.
Start:
```sh
docker compose --profile all up -d --build
```
Stop:
```sh
docker compose --profile all down
```
Cleanup:
```sh
docker compose --profile all down -v
```
# Development
## Frontend
### Databse + Backend environment
>This environment has to be running during frontend development.
Start:
```sh
docker compose --profile backend up -d --build
```
Stop:
```sh
docker compose --profile backend down
```
Cleanup:
```sh
docker compose --profile backend down -v
```
### Frontend
Start:
```sh
npm run --prefix frontend start
```
`Ctrl-C` to quit.
## Backend
### Databse environment
>This environment has to be running during backend development.
Start:
```sh
docker compose --profile db up -d
```
(no `--build` because we are using pre-made images)
Stop:
```sh
docker compose --profile db down
```
Cleanup:
```sh
docker compose --profile db down -v
```
### Backend
Start:
```sh
cd backend
cargo run
cd ..
```
# API documentation
Because Rust webservers are young, there aren't many OpenAPI generators, most of them require boilerplate.
For that reason Postman is used and kept up to date in the [`Apsi.postman_collection.json`](./Apsi.postman_collection.json) file.
The simplest usage requires you to register, then login and copy JWT token into collection global variables.
Further usage is adequate.