Alt text

Efficacy

Metadata driven application creator.

MIT License

At it's core Efficacy is an metadata manager that helps you build no-code applications for a quickstart to test any MVP. It comes with an Admin portal and Demo Application so no need to code to get a concept working.

Note: It is still in early stages of development.

Tech Stack

Client: React, MUI, React-Jsonschema-Form

Server: Node, Express, Knex, Swagger

Database: Postgres

System Design

Alt text

Features

  • Manage Collections using built in admin portal
  • Collections directly reflect on the database
  • Manage application assets
  • Generate no code web application on the fly

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

DB_HOST

DB_PORT

DB_USERNAME

DB_PASSWORD

DB_DATABASE

DB_SCHEMA

NODE_ENV

Run Locally

Clone the project

  git clone https://link-to-project

Go to the project directory

  cd my-project

Install dependencies

  npm install

Start the server

  npm run start

Authors

Contributing

Contributions are always welcome!

See contributing.md for ways to get started.

Please adhere to this project's code of conduct.

What's inside?

This Turborepo includes the following packages/apps:

Apps and Packages

  • docs: a Next.js app
  • web: another Next.js app
  • @repo/ui: a stub React component library shared by both web and docs applications
  • @repo/eslint-config: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • @repo/typescript-config: tsconfig.jsons used throughout the monorepo

Each package/app is 100% TypeScript.

Build

To build all apps and packages, run the following command:

cd my-turborepo
pnpm build

Develop

To develop all apps and packages, run the following command:

cd my-turborepo
pnpm dev

Remote Caching

Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:

cd my-turborepo
npx turbo login

This will authenticate the Turborepo CLI with your Vercel account.

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:

npx turbo link

Useful Links

Learn more about the power of Turborepo: