https://github.com/angleprotocol/merkl-app-core
https://github.com/angleprotocol/merkl-app-core
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/angleprotocol/merkl-app-core
- Owner: AngleProtocol
- License: other
- Created: 2025-01-15T09:53:15.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-11T17:46:22.000Z (2 months ago)
- Last Synced: 2025-03-11T18:35:22.951Z (2 months ago)
- Language: TypeScript
- Size: 4.91 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## License
This project is licensed under the **BSD 3-Clause License with Specific Usage Restrictions**.
### Key Terms
- **Permitted Use**: This software may only be used to develop applications (frontend or backend) that directly interface with the Merkl incentive distribution solution.
- **Prohibited Uses**:
- Developing standalone applications unrelated to the original backend.
- Creating competitive backend services or applications.
- Reverse engineering the core backend logic.
- Developing alternative backend implementations.
- **Commercial Use**: Commercial use of this software, including incorporating it into paid products or services, is **strictly prohibited without prior written approval** from Angle Labs, Inc. For inquiries regarding commercial use, contact [[email protected]]([email protected])### Full License
For detailed terms and conditions, refer to the [`LICENSE`](./LICENSE) file in this repository.
# Welcome to Merkl Lite !
## Prerequisites
- [Bun](https://bun.sh/)
- [Remix](https://remix.run/docs)## Installation
1. `git submodule update --init --recursive`
2. `bun i`
3. `bun dev`## Development
Run the dev server:
```shellscript
bun dev
```## Deployment
### Host with Docker (recommended)
First you will need to build and push the image to a docker registry
1. Setup a Docker registry if you don't have one (on [DockerHub](https://hub.docker.com/) for example)
2. Go to the root of this repository
3. Build the docker container: `docker build --tag /merkl-lite:latest .`
4. Push it to your registry: `docker push /merkl-lite:latest`Now you will need to deploy the container, here are a few hosting solutions:
- [Cloud Run](https://cloud.google.com/run) on Google Cloud
- [ECS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) on AWS
- Docker-compose on any VMThen you only need to set the PORT environment variable and it will work! We recommend setting the port to 5173 (it is exposed in the Dockerfile) but feel free to change it.
### Host it yourself
First, build your app for production:
```sh
npm run build
```Then run the app in production mode:
```sh
npm start
```Now you'll need to pick a host to deploy it to.
### DIY
If you're familiar with deploying Node applications, the built-in Remix app server is production-ready.
Make sure to deploy the output of `npm run build`
- `build/server`
- `build/client`## Styling
This template comes with [Tailwind CSS](https://tailwindcss.com/) already configured for a simple default starting experience. You can use whatever css framework you prefer. See the [Vite docs on css](https://vitejs.dev/guide/features.html#css) for more information.
## Updating a fork
When pulling changes from `merkl-lite`, you have to:
```
# (On the forked repository)# Fetch commits on merkl lite
git fetch merkl-lite# Open a branch from main
git checkout main
git checkout -b sync# Merge changes from upstream
git merge merkl-lite/main# Open a sync PR
```