Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ctx-core/dev
A composable monorepo web-service/front-end toolkit
https://github.com/ctx-core/dev
es6 frontend koajs monorepo nodejs rollup svelte sveltejs toolkit webapps
Last synced: about 2 months ago
JSON representation
A composable monorepo web-service/front-end toolkit
- Host: GitHub
- URL: https://github.com/ctx-core/dev
- Owner: ctx-core
- License: other
- Created: 2016-04-28T01:33:30.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T16:36:13.000Z (9 months ago)
- Last Synced: 2024-04-14T00:59:21.176Z (9 months ago)
- Topics: es6, frontend, koajs, monorepo, nodejs, rollup, svelte, sveltejs, toolkit, webapps
- Language: Shell
- Homepage:
- Size: 30.2 MB
- Stars: 26
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
- License: License.md
Awesome Lists containing this project
README
ctx-core
A composable monorepo web-service/front-end toolkit that emphasizes:
* starter apps & quick prototyping with a scalable architecture
* {up,down}-scalable complexity
* functional-dominant hybrid style of programming
* data flow
* simple & composable interfaces
* reuse across projects
* anti-fragile development# Install
## NPM packages
The simplest way to use @ctx-core packages is to simply use npm to install them.
## Forking ctx-core with Lerna & git submodule
If you want to fork ctx-core for your own usage you can:
* fork this repository
* install [lerna](https://lerna.js.org/) to manage multiple repositories
* `git submodule add lib/ctx-core`
* If you use a read-only git url for deployment & want to edit your ctx-core fork,
you can edit the git config
* `vim .git/modules/lib/ctx-core/config`
* edit `url = [email protected]:your-fork-account/ctx-core.git`# Usage
1. Fork ctx-core & add your ctx-core fork as a git submodule.
1. Create a `.gitignore` file in your project with
```shell
/.env
```
1. Create a .env file (see the .env.sample.* files in the ctx-core directory)Please send pull requests.
# Technologies
* [es6](https://github.com/lukehoban/es6features)
* [sveltejs](https://svelte.technology/)
* [sapper](https://sapper.svelte.dev/)# Techniques
* [Reactive Programming](https://www.wikiwand.com/en/Reactive_programming)
* [Explicit Naming Conventions](http://www.briantakita.com/posts/naming-conventions/)# Explicit Domain Driven Design
"The Map is not the territory"
—Alfred Korzybski
"All non-trivial abstractions, to some degree, are leaky"
—Joel Spolsky
I view software as a creative model of Existence. Software, in emulating other entities in Existence, also exists as entities.
Language, using a schema, provides a system of abstraction enabling one to model something.
Language is context sensitive & composable. With the Language tool, we craft systems of illusion, intelligence, & life.## Naming Conventions
Source Code is a UX to interface with the raw machine.
The affordances provided by programming languages allows one to:
* name abstractions
* create patterns & metaphor
* express one's model of Existence
* create a tool to perform work# Optionality — Degrees of Freedom over Forecasting
I prefer to have optionality over compound planing (assumptions, based on assumptions, …).
We live in a complex & interconnected existence; with the potential for a diverse set of outcomes.
Complexity, interconnectivity, novelty, & creation is beyond any single entity's ability to effectively forecast.Language evolves as our conscious understanding evolves…& vice versa.
Ambiguity is a tool of consciousness to compel us to explore the dissonance in our current model of Existence.
Follow the rabbit hole…and a richer Existence awaits.# Monorepo
I chose to use a monorepo:
* to reduce development friction in managing my various projects
* to utilize patterns across my projectsMonorepos are, once again, gaining favor as a way to efficiently manage disparate projects.
I choose to use monorepos across my projects to create value & optionality for my clients and to model abstract patterns to continuously improve the products.# Demos
I work for clients that often utilize proprietary data sources. Currently, ctx-core has a starter app that is a quovo portfolio viewer.
I am working on creating more starter apps & getting a demo account with quovo.In the mean time, I can do private demos (with additional examples that I can't show in public) on Google Hangout. Please contact me at: [email protected]
# Acknowledgements & Gratitude
Thank you to all of you adventurous spirits who push the edge, cross boundaries, & create convergence to enrich our collective Existence.
Thank you to those who have failed many times, yet never gave up in following your bliss.
Thank you to everybody whom I have had a pleasure to work with & who has graced my life.
I have learned much from your perspectives & hope to continue to be blessed by your physical presence & your presence in my heart.Thank you to all beautiful souls who grace us with this immersive & thoroughly interesting world.
## The Censible Team
Thank you to the [Censible](http://censible.co) team for the inspiration, willingness, & for being the initial sponsor for ctx-root.
A special thank to to:
[@pmart123](https://github.com/pmart123),
[@snuggs](https://github.com/snuggs),
[@cristhiandick](https://github.com/cristhiandick),
[@albertopontonio](https://github.com/albertopontonio),
[@strictlymomo](https://github.com/strictlymomo),
[@mrbernnz](https://github.com/mrbernnz),
[@katezaps](https://github.com/katezaps),
[@tmornini](https://github.com/tmornini),
[@ebransom](https://github.com/ebransom)
for your collaboration, brilliance, attitude, & friendship.