nekifirus / sac

Exame task to join Clojure developers team

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Science Articles Cache

This project written as exame task to join one little but strong Clojure developers team. I hope will get this goal.

Requirements stored here (in Russian). Implemented as is.

This application built like any other things - from important to details.

To see what important for me - you can walk through well documented commit history.

1. There was Article and Customer at the begining

2. Add two commands only

3. Define abstractions

4. Add test implementations

5. Test it

6. Access control implementation

7. Knowledge base implementation

8. SQL repository implementation

9. JSON-API implementation

10. Uberjar and Dockerfile

11. PostgreSQL and docker-compose

Launch

Just build jar file with

$ lein uberjar

And launch:

$ docker-compose build

$ docker-compose up

Environment variables

You need to pass some variables to environment.

JWT_SECRET - with secret to sign tokents

ELSEVIER_APIKEY - to get articles from Scopus. You can register and get it here.

About

Exame task to join Clojure developers team


Languages

Language:Clojure 99.2%Language:Dockerfile 0.8%