parent
fcd6d1e034
commit
94cd4cdcc2
@ -0,0 +1,39 @@
|
|||||||
|
# Wanijo
|
||||||
|
|
||||||
|
> (Toki Pona)
|
||||||
|
> Wan: One, a, unite, make one
|
||||||
|
> Ijo: thing, something, object
|
||||||
|
> Wanijo: Unite things
|
||||||
|
|
||||||
|
## How to develop
|
||||||
|
|
||||||
|
You'll need:
|
||||||
|
|
||||||
|
- JDK >= 8
|
||||||
|
- Leiningen >= 2.9
|
||||||
|
|
||||||
|
### First time launch with fresh database
|
||||||
|
|
||||||
|
- start a neo4j database with `lein neo4j`
|
||||||
|
- start a repl with `lein repl` or similar
|
||||||
|
- import `wanijo.infrastructure.repl`
|
||||||
|
- if you use leiningen for launching the repl, this will be your init-ns
|
||||||
|
- run `wanijo.infrastructure.repl/create-user!` using the desired username and password as parameters
|
||||||
|
- run `wanijo.infrastructure.repl/run-migrations!` to create desireable database constraints and structures
|
||||||
|
|
||||||
|
### Launch the application server
|
||||||
|
|
||||||
|
- start a repl
|
||||||
|
- import `wanijo.main`
|
||||||
|
- run `wanijo.main/start-server-dev!`
|
||||||
|
- the application is available on port `8080`
|
||||||
|
|
||||||
|
### "Architecture"
|
||||||
|
|
||||||
|
> Structure your application as it seems to fit your needs. Then call it architecture and pat yourself on the shoulder. You've achieved something!
|
||||||
|
|
||||||
|
The first level of structure are the building blocks of the domain, e.g. `instance`, `schema`. Inside these namespaces you'll find namespaces for each technical need: routing, database access, domain rules etc.
|
||||||
|
|
||||||
|
`wanijo.handler` collects all routes and passes them to ring.
|
||||||
|
|
||||||
|
`wanijo.infrastructure` contains the namespaces needed for technical code that do not belong to any domain, like database access, routing or similars.
|
Loading…
Reference in new issue