You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Josha von Gizycki
465ef3a75d
|
5 years ago | |
---|---|---|
resources | 5 years ago | |
src/wanijo | 5 years ago | |
test/wanijo/infrastructure | 5 years ago | |
.editorconfig | 5 years ago | |
.gitignore | 5 years ago | |
LICENSE | 5 years ago | |
README.md | 5 years ago | |
project.clj | 5 years ago |
README.md
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
- the application is available on port
"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.