{"id":16121680,"url":"https://github.com/nachotoast/foundationx","last_synced_at":"2026-01-31T20:03:02.181Z","repository":{"id":196451185,"uuid":"694564550","full_name":"NachoToast/FoundationX","owner":"NachoToast","description":"The official website for the FoundationX server network.","archived":false,"fork":false,"pushed_at":"2024-09-29T22:01:30.000Z","size":27188,"stargazers_count":0,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T09:02:03.082Z","etag":null,"topics":["react","typescript"],"latest_commit_sha":null,"homepage":"https://foundationxservers.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NachoToast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-21T08:51:38.000Z","updated_at":"2024-07-30T04:30:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"48aa2cd1-6e6a-47c4-b124-18d91d1a0856","html_url":"https://github.com/NachoToast/FoundationX","commit_stats":{"total_commits":32,"total_committers":4,"mean_commits":8.0,"dds":0.375,"last_synced_commit":"4d636c5da61e5a5c49edb9e1f4cb6e9c9dd69126"},"previous_names":["nachotoast/foundationx"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NachoToast/FoundationX","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NachoToast%2FFoundationX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NachoToast%2FFoundationX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NachoToast%2FFoundationX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NachoToast%2FFoundationX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NachoToast","download_url":"https://codeload.github.com/NachoToast/FoundationX/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NachoToast%2FFoundationX/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261095287,"owners_count":23108780,"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":["react","typescript"],"created_at":"2024-10-09T21:06:40.225Z","updated_at":"2026-01-31T20:03:02.176Z","avatar_url":"https://github.com/NachoToast.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FoundationX \u003c!-- omit in toc --\u003e\n\nCentralised API for the FoundationX server network.\n\n[![codecov](https://codecov.io/gh/NachoToast/FoundationX/graph/badge.svg?token=IQMMONOGJ8)](https://codecov.io/gh/NachoToast/FoundationX)\n[![CI](https://github.com/NachoToast/FoundationX/actions/workflows/ci.yml/badge.svg)](https://github.com/NachoToast/FoundationX/actions/workflows/ci.yml)\n[![Deploy](https://github.com/NachoToast/FoundationX/actions/workflows/deploy.yml/badge.svg)](https://github.com/NachoToast/FoundationX/actions/workflows/deploy.yml)\n[![CodeQL](https://github.com/NachoToast/FoundationX/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/NachoToast/FoundationX/actions/workflows/codeql-analysis.yml)\n\n### Table of Contents \u003c!-- omit in toc --\u003e\n\n- [Technologies](#technologies)\n- [Installation](#installation)\n- [Documentation](#documentation)\n  - [Script Reference](#script-reference)\n  - [Dependency Reference](#dependency-reference)\n  - [Secret Reference](#secret-reference)\n\n### Technologies\n\n[![Bun](https://img.shields.io/badge/Bun-000?style=for-the-badge\u0026logo=bun\u0026logoColor=white)](https://bun.com/)\n[![Typescript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![Express.js](https://img.shields.io/badge/Express.js-000000?logo=express\u0026logoColor=fff\u0026style=for-the-badge)](https://expressjs.com/)\n[![PostgreSQL](https://img.shields.io/badge/postgresql-4169e1?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)](https://www.postgresql.org/)\n[![Docker](https://img.shields.io/badge/docker-257bd6?style=for-the-badge\u0026logo=docker\u0026logoColor=white)](https://www.docker.com/)\n\n### Installation\n\nThis assumes you have [git](https://git-scm.com/), [Bun](https://bun.com/get), and [Docker](https://www.docker.com/products/docker-desktop/) installed already.\n\n```sh\ngit clone https://github.com/NachoToast/FoundationX.git\ncd FoundationX\nbun install\ncp .env.example .env\n```\n\nNow fill out the `.env` file with the correct values.\n\nIf you are using Docker for hosting the PostgreSQL database, you can now start it up using the following command:\n\n```sh\ndocker compose up --build --detach db\n```\n\nThe API should be ready to start now, which can be done using:\n\n```sh\nbun run start\n```\n\nTo see other scripts you can run using the `bun run \u003cscript name\u003e` syntax, see the [script reference](#script-reference).\n\n### Documentation\n\nOverall architecture is outlined in the [developer Figma design document](https://www.figma.com/board/ZqnQe21dQOwzYBmlF1Vwfw/FoundationX-Systems). If you are a developer and do not have access to this, please contact NachoToast.\n\n#### Script Reference\n\n- `start` - Starts the API with hot reloading enabled.\n- `lint` - Runs biome linting checks.\n- `lint:fix` - Same as `lint` but fixes the found issues.\n- `typecheck` - Runs type checking.\n- `test` - Runs unit and integration tests.\n\n#### Dependency Reference\n\n- `cors` - CORS policy management for routes.\n- `discord.js` - Discord bot API library, used by our main bot and stats bots.\n- `express` - Web server library, hosts routes.\n- `express-openapi-validator` - API request and response validation.\n- `express-rate-limit` - Rate limiting for API routes.\n- `jsonwebtoken` - Session management helper.\n- `swagger-ui-express` - Standard spec definitions and `/api-docs` route.\n\n#### Secret Reference\n\n- `CODECOV_TOKEN` is used by the [CI workflow](.github/workflows/ci.yml) to upload code test coverage to [Codecov](https://about.codecov.io/).\n- The [deployment workflow](.github/workflows/deploy.yml) uses `HOST`, `USERNAME`, `PASSWORD`, `PORT`, and `DIRECTORY` secrets for SSH.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnachotoast%2Ffoundationx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnachotoast%2Ffoundationx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnachotoast%2Ffoundationx/lists"}