Coder Social home page Coder Social logo

The Travetto Framework

The goal of the framework is to provide a holistic application platform with the a focus on interactive development.

Philosophy

The framework relies up five key principles:

  • Typescript as a development platform. This means the framework is intimately tied to Typescript and it's compiler.
  • Code over configuration. This means that the framework prefers meta-programming via decorators over configuration. Code is always the best place to define configuration.
  • Do not ask the developer to repeat information. Specifically, source code transformation (and analysis) is a key element of providing seamless functionality while requiring as little as possible from the person using the framework.
  • Strive for a minimal footprint. When libraries are considered, an overarching goal is to keep the size and quantity of dependencies and functionality to a minimum. The net result should be as little code as possible, and as few dependencies as possible.
  • Development responsiveness is paramount. The framework should aim for instant feedback when possible to minimize the time between making a change and seeing it.

Modules

Every module within the framework follows the overarching philosophy. For the most part each module is as isolated as possible. The modules are stacked vertically to generally indicate dependencies. The only exception is for common libraries, which are unrelated.

Module Layout

Travetto Framework's Projects

asset icon asset

Modular library for storing and retrieving binary assets with additional support for image modification at runtime

asset-express icon asset-express

Provides integration between the travetto asset and express module.

asset-s3 icon asset-s3

AWS S3 backend for the travetto asset module

auth icon auth

Authentication and registration support for the travetto framework

auth-express icon auth-express

Express authentication integration support for the travetto framework

auth-model icon auth-model

Model-based authentication and registration support for the travetto framework

base icon base

Bootstrapping, application phase management, environment config and common utilities for travetto applications.

cache icon cache

Caching functionality with decorators for declarative use.

compiler icon compiler

Node-integration of Typescript Compiler with advanced functionality for collecting AST transformers, and detecting changes in classes and methods.

config icon config

Environment-aware config management using yaml files

context icon context

Async-aware state management, maintaining context across asynchronous calls.

di icon di

Dependency registration/management and injection support.

email icon email

Email templating and transmisison module.

exec icon exec

Common wrapper around process execution with high level docker support.

express icon express

Declarative wrapper around express with support for the dependency injection module.

js-yaml icon js-yaml

JavaScript YAML parser and dumper. Very fast.

jwt icon jwt

JsonWebToken implementation for node.js

log icon log

Logging framework that integrates at the console.log level.

model icon model

Datastore abstraction for CRUD operations with advanced query support.

model-elasticsearch icon model-elasticsearch

Elasticsearch backing for the travetto model module, with real-time modeling support for Elasticsearch mappings.

pool icon pool

Worker pool logic with constructs for concurrency management

registry icon registry

Patterns and utilities for handling registration of metadata and functionality for run-time use.

schedule icon schedule

Managed registry for scheduling jobs using cron expressions.

schema icon schema

Data type registry for runtime validation, reflection and binding.

starter icon starter

Reference application for the travetto framework

test icon test

Declarative test framework that provides hooks for high levels of integration with the travetto framework and test plugin

todo-app icon todo-app

This is the sample application that the getting started guide goes through.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.