{"id":14989385,"url":"https://github.com/nmsud/form","last_synced_at":"2026-02-28T08:09:59.771Z","repository":{"id":219739975,"uuid":"749777570","full_name":"NMSUD/Form","owner":"NMSUD","description":"📜 Custom form app for collecting data for Unification Days","archived":false,"fork":false,"pushed_at":"2024-06-26T07:44:46.000Z","size":19710,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-05T18:25:09.592Z","etag":null,"topics":["docker","form","koajs","solidjs","unification-day","xata"],"latest_commit_sha":null,"homepage":"http://form.nmsud.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NMSUD.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-29T11:29:16.000Z","updated_at":"2024-06-19T21:05:59.000Z","dependencies_parsed_at":"2024-02-12T17:26:53.593Z","dependency_job_id":"109ddfdd-0cc5-470e-bdab-b5136490c59f","html_url":"https://github.com/NMSUD/Form","commit_stats":{"total_commits":136,"total_committers":3,"mean_commits":"45.333333333333336","dds":"0.15441176470588236","last_synced_commit":"9e5b8d6e2b719f36b51ef28d2ddba0797b2d6e98"},"previous_names":["nmsud/form"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NMSUD%2FForm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NMSUD%2FForm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NMSUD%2FForm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NMSUD%2FForm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NMSUD","download_url":"https://codeload.github.com/NMSUD/Form/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239845265,"owners_count":19706583,"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":["docker","form","koajs","solidjs","unification-day","xata"],"created_at":"2024-09-24T14:18:16.968Z","updated_at":"2026-02-28T08:09:59.734Z","avatar_url":"https://github.com/NMSUD.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-capture --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003cdiv align=\"center\"\u003e\n  \n  # NMSUD Form\n  _Makes submitting your builds for [Unification Days][nmsudWebsite] easier._\n  \n  \u003cbr /\u003e  \n  \n  ![header](https://github.com/NMSUD/.github/blob/main/img/banner.png?raw=true) \n  \n  \u003cbr /\u003e\n  \n  ![madeWithLove](https://github.com/NMSUD/.github/blob/main/badge/made-with-love.svg)\n  ![gitmoji](https://github.com/NMSUD/.github/blob/main/badge/gitmoji.svg?raw=true)\u003cbr /\u003e\n\n![Vite](https://img.shields.io/badge/Vite-B73BFE?style=for-the-badge\u0026logo=vite\u0026logoColor=FFD62E)\n![Vitest](https://img.shields.io/badge/Vitest-202127?style=for-the-badge\u0026logo=vitest)\n![Vitepress](https://img.shields.io/badge/vitepress-%23646CFF.svg?style=for-the-badge\u0026logo=vite\u0026logoColor=white)\n![Typescript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\u003cbr /\u003e\n\n![SolidJS](https://img.shields.io/badge/Solid%20JS-2C4F7C?style=for-the-badge\u0026logo=solid\u0026logoColor=white)\n![HopeUI](https://img.shields.io/badge/HopeUI-05a2c2?style=for-the-badge\u0026logo=chakraui\u0026logoColor=white)\n![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge\u0026logo=swagger\u0026logoColor=white)\n![Storybook](https://img.shields.io/badge/-Storybook-FF4785?style=for-the-badge\u0026logo=storybook\u0026logoColor=white)\n\u003cbr /\u003e\n\n![koaJS](https://img.shields.io/badge/koaJS-%23404d59.svg?style=for-the-badge)\n![xata](https://img.shields.io/badge/xata.io-%239478FF.svg?style=for-the-badge)\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![Github Actions](https://img.shields.io/badge/Github%20Actions-2088FF?style=for-the-badge\u0026logo=github%20actions\u0026logoColor=white)\n\u003cbr /\u003e\n\n[![Supported by the No Man's Sky Community Developers \u0026 Designers](https://raw.githubusercontent.com/NMSCD/About/master/badge/green-ftb.svg)][nmscd]\u003cbr /\u003e\n\n![Profile views](https://komarev.com/ghpvc/?username=NMSUD\u0026color=green\u0026style=for-the-badge)\n\u003cbr /\u003e\n\n\u003c/div\u003e\n\u003c!-- markdownlint-restore --\u003e\n\n## 📦 Projects in this repo\n\n### Website\n\nThis is the website that contains the forms that users will see. It allows for user inputs, with validation and knows how to package all the information to be sent to the API.\n\n### API\n\nThis is able to accept requests, prevent spam, unpack and verify the contents and ultimately securely store the information in a database.\n\n### Data generator\n\nThis script is able to pull all the uploaded images and the records out of the database. Then the script manipulates and writes the data to json files to be consumed by websites, apps, etc later.\n\n\u003cbr /\u003e\n\n## 🏃‍♂️ Running the project\n\n\u003c!-- This is used in vitepress, don't change the position of the following lines (58 to 73) --\u003e\n\n### Requirements\n\n- [Node.js](https://nodejs.org/) version 18 or higher.\n- Terminal for running `npm` scripts.\n- [VSCode](https://code.visualstudio.com/) is recommended.\n\n### Steps\n\n1. Clone this repository.\n2. Copy and rename the `env.dart.template` file to `env.dart`.\n3. In the directory where the `package.json` file is, run `npm i` to install all the required packages.\n4. Run `npm run setup` to run the initial setup.\n5. Run the app\n   - **Web** can be run locally using `npm run start:web`.\n   - **API** can be run locally using `npm run start:api`.\n   - **Data** can be run locally using `npm run start:data`.\n\n\u003cbr /\u003e\n\n## 🧪 Running the tests\n\nThis project uses [vitest](https://vitest.dev) for unit tests. The tests in this project are mostly testing the validation functions used on both the **website** and **API** projects. Hoping to add more tests in the future!\n\nTo run the tests, use the command `npm run test`.\n\n[![codeCoverage](https://img.shields.io/endpoint?url=https%3A%2F%2Fform-docs.nmsud.com%2Fcoverage%2FcoverageBadge.json)][coverageReport]\n\n\u003cbr /\u003e\n\n## 🎨 Storybook\n\nThis project has [Storybook](https://storybook.js.com) set up. This is mostly for visual testing and is suitable for components such as the reusable form components in `src/components/form`.\n\nTo run storybook use the command `npm run storybook:dev`. \\\nThen open [localhost:3003](http://localhost:3003)\n\n\u003cbr /\u003e\n\n## 👪 Contributing\n\nPlease take a look at the [Contribution Guideline](./.github/CONTRIBUTING.md) before creating an issue or pull request.\n\n\u003cbr /\u003e\n\n## 📄 Documentation\n\nWe have a [documentation][documentation] website, here you can find information on how to run the project on your machine, how the project was setup, how to add new forms, how to run unit tests and more.\n\n\u003cbr /\u003e\n\n## 🔗 Links\n\n[![Website](https://img.shields.io/badge/Website-nmsud.com-blue?color=7986cc\u0026style=for-the-badge)][nmsudWebsite] \u003cbr /\u003e\n[![Discord](https://img.shields.io/badge/Discord-NMSUD-blue?color=5865F2\u0026style=for-the-badge)][discord] \u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003c!-- Links used in the page --\u003e\n\n[nmsudWebsite]: https://nmsud.com\n[nmscd]: https://github.com/NMSCD?ref=nmsudForm\n[documentation]: https://form-docs.nmsud.com\n[coverageReport]: https://form-docs.nmsud.com/coverage/index.html\n[discord]: https://discord.gg/jQrNeWeTwR\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmsud%2Fform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmsud%2Fform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmsud%2Fform/lists"}