A restful API project for monitoring github releases
{root}
dev
└── user.clj # utilities for repl driven development (see make repl)
src
└── api
├── db.clj # DB config details
├── cron.clj # routine-like job for refreshing releases in db
├── handlers.clj # handlers that interact with the DB
├── github.clj # functions for interacting with github API
├── jdbc.clj # support for various SQL <> Clojure data types
├── main.clj # app's main entry and middleware configurations
└── routes.clj # API routes
- For a list of endpoints supported by this API refer to this doc. Also available via swagger at http://localhost:4000/
- For this project's KANBAN board follow this link.
- Java8+
- Clojure
- Docker
touch secrets.edn
(.gitignored)- add your github token in this format
{:github-token "top-secret"} ;; used for GitHub API requests
make up
# spins up docker-composemake migrations
# runs migrations upmake run
# runs code locally
make repl
# runs nrepl- API will now start serving traffic on
localhost:4000
- evaluate
(reset)
after changing code - evaluate
(halt)
to stop the server or simplyCTRL + c
to end the process
make lint
# lints code via clj-kondomake format
# formats code via cljfmtmake repl
# spins up rebel-readline
make jar
make test
# runs integration tests