A React + TypeScript application with middleware support.
- Node.js (v20)
- npm package manager
- Git
- Clone the repository:
git clone git@github.com:customeros/frontera.git
cd frontera- Install root dependencies:
npm install- Install middleware dependencies:
cd middleware
npm install- Set up environment variables:
cp .env.example .envEdit the .env file and fill in the required environment variables:
CUSTOMER_OS_API_KEY: Your Customer OS API keyINTERNAL_API_PATH: Internal API endpointINTERNAL_API_KEY: Internal API authentication keyVITE_MIDDLEWARE_API_URL: URL for the middleware APIVITE_CLIENT_APP_URL: Client application URL- And other required variables as listed in
.env.example
To run both the frontend and middleware simultaneously:
npm run devThis command uses concurrently to run:
- Vite development server (frontend)
- Middleware server
To run the frontend only:
npm run viteTo run the middleware only:
npm run middlewarenpm run buildnpm run dev- Start development servers (frontend + middleware)npm run build- Create production buildnpm run lint- Run ESLintnpm run fix:lint- Fix linting issuesnpm run preview- Preview production buildnpm run test:e2e- Run end-to-end testsnpm run test:integration- Run integration tests
The project includes several code generation scripts:
npm run codegen:variants- Generate Tailwind variantsnpm run codegen:gql- Generate GraphQL types
- End-to-end tests:
npm run test:e2e - Integration tests:
npm run test:integration
- Ensure you have set up the pre-commit hooks (automatically done during
npm install) - Make your changes
- Run linting and tests before committing
- Create a pull request
A massive thank you goes out to all these wonderful people (emoji key):
Matt Brown 📖 |
Vasi Coscotin 📖 |
alexopenline 💻 |
edifirut 🚇 👀 |
Jonty Knox 👀 |
tsearle 💻 📖 |
Alex Calinica 👀 |
SilviuOpenline 👀 |
- This repo is licensed under Apache 2.0, with the exception of the ee directory (if applicable).
- Copyright © Openline Technologies Inc. 2022 - 2025