This repository was archived by the owner on Jan 6, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
This repository was archived by the owner on Jan 6, 2024. It is now read-only.
Hyper MVP #1
Copy link
Copy link
Open
Labels
Description
flowchart TB
Files(JSON files)
Database(CRUD database)
Backend(Backend service implementing Hyper API)
Frontend(Hyper App)
CLI(Hyper CLI)
Files-- Local filesystem connection --> Backend
Database-- Database connection --> Backend
Backend-- Hyper JSON -->Frontend
Backend-- Hyper JSON -->CLI
About the Project Name
The name Hyper comes from the hypermedia concept.
Hyper Stack: Hypermedia-style JSON DTO
- Extendable JSON format which describes how the frontend UI should behave and look
- Uses concept known as a hypermedia API. The API can dynamically provide links and descriptions from the backend and interactions back to the backend.
- Describes dynamically how the UI should behave when specific events happen, e.g. buttons clicked or events from the backend arrive
Hyper APIs: Backend service(s) which return interfaces which Hyper App will use
- Includes domain specific business models, logic and UI themes and styles
- You can write your backends with any language, like Python, Java or even C++.
- Intended to allow real life usable micro service toolchain. Parts of your server could be implemented as separate projects or even with multiple languages.
- Our example implementations are written with TypeScript and use HG framework.
Hyper Server: Backend server running Hyper components
- Provides common framework to run Hyper components (e.g. feature modules, APIs and serving Hyper App)
- Extendable with Hyper Modules
- Server-side rendering support for Hyper App (ReactJS)
- Compiles as single JavaScript file with only dependency for latest NodeJS
Hyper Module: Independent backend features
- Implements a single backend feature in a CRUD database
- As independent as possible
- The implementation can be written with any language
- Can be integrated with other systems using pure SQL connections
Hyper App: Frontend app which interacts with Hyper APIs
- No domain specific code, business logic or themes or styles
- Similar to a browser: Browser inside a browser
- Our implementation is written in TypeScript and ReactJS. There could be other implementations later.
Hyper CLI: Command line interface to Hyper APIs for scripting
- Command line interface that can be used to interact with the backend service -- just like the frontend
- Useful for testing, automating and mocking
- Our implementation will be written in TypeScript and NodeJS. There could be other implementations later.
Boards
Sprints
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Todo
Status
In Progress
Status
Todo