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 .env
Edit 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 dev
This command uses concurrently
to run:
- Vite development server (frontend)
- Middleware server
To run the frontend only:
npm run vite
To run the middleware only:
npm run middleware
npm run build
npm 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