Philosophy

This section describes the philosophies, ideologies, values, and ethics that govern the Medusa ecosystem.

All Medusa ideas are documented in 3 main branches, Philosophy, API, and Implementation.

Displayed Date ranges should be inclusive of the start and exclusive of the day after the end date.

Date Description
2020/10/20 - 2020/10/20 1 day
2020/10/20 - 2020/10/21 2 days
2020/10/1 - 2020/10/31 1 month
2020/10/1 - 2020/11/1 1 month + 1 day
2020/10/1 - 2020/9/30 1 year
2020/10/1 - 2021/10/1 1 year + 1 day

All decisions should come down to the following priorities:

  • Minimize Scrolling
  • Minimize Clicks
  • Use images, color, and shapes as identifiers instead of text when possible.

Code for certain functionality must be tailored for the server, the client, or both.

Languages evolve and newer languages emerge that incorporate the best practices of their predecessors.

The fewer characters to type and read the better, unless the code is less readable.

The code should be easily understood when visiting it.

The language should allow repairing, reviewing, refactoring, reusing, and extending.

The language should be portable to multiple platforms (native, java, javascript, etc).

The pool of developers that understand the language should be large.

Selected Over
Kotlin Java
GWT
Vue React, Polymer
JQuery

The architecture of a system should mirror the architecture of a computer.

  • Process / Logic
  • Store
  • Input
  • Output
  • Bus
  • Cache

A single source of truth is a great thing. But that truth needs to be organized

  • Registration
  • Processing

A login dialog with 'forgot password' and 'forgot username' functionality.

How entities (individulals and businesses) interact and present themselves