This is the API server.
Find a file
array-in-a-matrix 7371cf73c2 add db to config
2024-07-24 14:31:27 -04:00
.vscode vscodium extension recommendatiosn 2024-06-28 11:46:13 -04:00
src add db to config 2024-07-24 14:31:27 -04:00
tests tests go here 2024-07-05 20:00:35 -04:00
.gitignore compile server exe in docker and export to /bin/ 2024-07-19 17:30:33 -04:00
bin.dockerfile dockerfiles fix #3 2024-07-19 18:28:50 -04:00
dockerfile dockerfiles fix #3 2024-07-19 18:28:50 -04:00
LICENSE Initial commit 2024-06-11 12:51:31 -04:00
nim.cfg more debug 2024-07-19 20:37:30 -04:00
README.md temporary db container 2024-07-19 21:10:21 -04:00
server.nimble add checksum lib for sha3 2024-06-28 11:07:06 -04:00

Glimpse API server

This is the Glimpse API server.

Run test server instance

Install needed libraries:

nimble install jester norm checksums

Compile and run:

nimble run

Build project:

nimble build

Docker

To compile the binary only, run the following (executable will be found in /bin/):

docker buildx build -t glimpse-server:latest --output=bin --target=runner -f

To deploy an instance of the server within docker, run:

docker buildx build -t glimpse-server:latest .
docker run -it --rm -p 5000:5000 glimpse-server:latest

Use the following to run a temporary PostgreSQL database, (DO NOT USE IN PRODUCTION):

docker run -it --rm -e POSTGRES_USER=user -e POSTGRES_PASSWORD=postgres -p 5432:5432 postgres

API Endpoints

Each endpoint has comments describing what type of request it is and what parameters it takes. Example requests using cURL:

curl -X <POST|GET|PUT|DELETE> <Endpoint URI> -H '<Request Body Contents>'
curl -X POST http://localhost:5000/api/v1/newUser -H 'Username=Array' -H 'Password=i8Vl8XZaVRiZFsZ'
curl -X POST -H "Authorization: <access_token>" -F "file=@image.png" http://localhost:5000/api/v1/newFile