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.
 
 
 
Go to file
Josha von Gizycki 0588e51730
dependencies
5 years ago
resources rewind to old plugin, styling for markdown properties 5 years ago
src/wanijo naming conventions regarding side effects 5 years ago
test/wanijo/infrastructure rename wanijo.framework to wanijo.infrastructure 5 years ago
.editorconfig nice looking tags, moar specs, tag creating 5 years ago
.gitignore specs restructuring 5 years ago
LICENSE add license 5 years ago
README.md something for people to read 5 years ago
project.clj dependencies 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

"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.