{"id":14256958,"url":"https://github.com/axone-protocol/hub-backend","last_synced_at":"2025-05-16T08:11:30.344Z","repository":{"id":236972019,"uuid":"793537279","full_name":"axone-protocol/hub-backend","owner":"axone-protocol","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-17T09:22:55.000Z","size":381,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-05T19:30:54.855Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/axone-protocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-29T12:10:44.000Z","updated_at":"2024-08-22T07:03:07.114Z","dependencies_parsed_at":"2024-05-13T09:59:51.031Z","dependency_job_id":"56f69ec3-d589-47ac-a2b6-4421e903f20b","html_url":"https://github.com/axone-protocol/hub-backend","commit_stats":null,"previous_names":["axone-protocol/hub-backend"],"tags_count":0,"template":false,"template_full_name":"axone-protocol/template-oss","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axone-protocol%2Fhub-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axone-protocol%2Fhub-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axone-protocol%2Fhub-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/axone-protocol%2Fhub-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/axone-protocol","download_url":"https://codeload.github.com/axone-protocol/hub-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254493368,"owners_count":22080127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-22T07:01:39.035Z","updated_at":"2025-05-16T08:11:25.336Z","avatar_url":"https://github.com/axone-protocol.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Hub backend\n\n[![lint](https://img.shields.io/github/actions/workflow/status/axone-protocol/template-oss/lint.yml?branch=main\u0026label=lint\u0026style=for-the-badge\u0026logo=github)](https://github.com/axone-protocol/hub-backend/actions/workflows/lint.yml)\n[![conventional commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg?style=for-the-badge\u0026logo=conventionalcommits)](https://conventionalcommits.org)\n[![contributor covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?style=for-the-badge)](https://github.com/axone-protocol/.github/blob/main/CODE_OF_CONDUCT.md)\n[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg?style=for-the-badge)](https://opensource.org/licenses/BSD-3-Clause)\n\n\u003e Official Axone Hub repository.\n\n## Prerequisites\n\nMake sure you have the following installed on your machine:\n\n- [Node.js](https://nodejs.org/) (v18.20.0)\n- [npm](https://www.npmjs.com/) (comes with Node.js) or [Yarn](https://yarnpkg.com/) (~1.22.19)\n\n## Installation\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/axone-protocol/hub-backend.git\n   ```\n\n2. **Install dependencies:**\n\n    ```bash\n    yarn install\n    ```\n\n3. **Run docker containers**\n\n    To set up the necessary database and caching services for our application, you will need to run two Docker containers: one for PostgreSQL with TimescaleDB and another for Redis. Follow the steps below to do this:\n\n    Run PostgreSQL with TimescaleDB\n\n    ```bash\n    docker run -d --name your_db_container_name -p 5432:5432 -e POSTGRES_PASSWORD=your_password -e POSTGRES_DB=your_db_name timescale/timescaledb-ha:pg16\n    ```\n\n    TimescaleDB is an extension of PostgreSQL designed for time-series data, providing additional functionality and optimizations. This setup is essential for storing and querying time-series data efficiently.\n\n    Run Redis\n\n    ```bash\n    docker run --name your_redis_container_name -p 6379:6379 -d redis\n    ```\n\n    Redis is an in-memory data structure store used as a database, cache, and message broker. It is highly performant and provides fast access to frequently used data, making it an essential component for caching and improving the application's performance.\n\n    Intention and Necessity\n\n    Running these containers is crucial for setting up the backend infrastructure of the application. PostgreSQL with TimescaleDB provides a robust solution for managing relational and time-series data, while Redis enhances the application's performance by caching frequently accessed data and managing message queues efficiently. By using Docker, we ensure that these services are easily deployable and maintainable across different environments, reducing setup time and potential configuration issues.\n\n4. **Configure environment variables**\n    After creating the .env.local file, change the environment variables to match the settings in Docker\n\n    ```bash\n    cp .env.example .env.local\n    ```\n\n5. **Starting server**\n\n    ```bash\n    yarn dev # for dev mode\n    yarn start # for live mode\n    ```\n\n## You want to get involved? 😍\n\nPlease check out Axone health files :\n\n- [Contributing](https://github.com/axone-protocol/.github/blob/main/CONTRIBUTING.md)\n- [Code of conduct](https://github.com/axone-protocol/.github/blob/main/CODE_OF_CONDUCT.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxone-protocol%2Fhub-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faxone-protocol%2Fhub-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faxone-protocol%2Fhub-backend/lists"}