OrchaJS is a framework to safely, securely, and efficiently build scalable web apps requiring real-world, highly relational domain modeling and essential features such as user authentication, file uploading, pagination, and real-time updates. All while providing an unprecedented developer experience.
- ✅ Type-safety between Client and Server
- ✅ Easy querying of highly-relational data
- ✅ Secure Endpoints and Queries
- ✅ Build-in pagination
- ✅ Singular and Multiple File Uploads
- ✅ Integration Testing
- ✅ Customizable User Authentication
Since OrchaJS is written in Typescript, this means that only Typescript libraries and frameworks can be used. Also, since OrchaJS is platform-agnostic, any library or framework can be used but a proper driver will have to be created if there is currently not one written for it. The current compatible technologies are (but not limited to):
- Angular (Client)
- NestJS (Server)
- MikroORM (ORM)
However, the essence of this framework is to share code between the frontend and backend thusly allowing for a robust code-base and auspicious developer-experience.
-
Clone repository:
git clone https://github.com/jczacharia/orcha
-
Install Dependencies:
cd orcha && yarn
-
Have a PostgreSQL instance running on
localhost:5432
(Environment variables found here:libs/todo-example-app/shared/domain/src/lib/environments/environment.ts
)- Username:
postgres
- Password:
1Qazxsw2
- DB Name:
orcha-todo-example-app
- e2e (Integration Testing) DB Name:
orcha-todo-example-app-e2e
(Though these can be changed.)
- Username:
-
Open 2 terminals:
-
In Terminal 1, run the client (Angular):
npx nx s todo-app
-
In Terminal 2 run the server (Nestjs):
npx nx s api
-
Visit: http://localhost:4200