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