https://github.com/nmsud/form
๐ Custom form app for collecting data for Unification Days
https://github.com/nmsud/form
docker form koajs solidjs unification-day xata
Last synced: 4 months ago
JSON representation
๐ Custom form app for collecting data for Unification Days
- Host: GitHub
- URL: https://github.com/nmsud/form
- Owner: NMSUD
- License: gpl-3.0
- Created: 2024-01-29T11:29:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-26T07:44:46.000Z (about 2 years ago)
- Last Synced: 2025-01-05T18:25:09.592Z (over 1 year ago)
- Topics: docker, form, koajs, solidjs, unification-day, xata
- Language: TypeScript
- Homepage: http://form.nmsud.com/
- Size: 18.8 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# NMSUD Form
_Makes submitting your builds for [Unification Days][nmsudWebsite] easier._















[][nmscd]

## ๐ฆ Projects in this repo
### Website
This 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.
### API
This is able to accept requests, prevent spam, unpack and verify the contents and ultimately securely store the information in a database.
### Data generator
This 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.
## ๐โโ๏ธ Running the project
### Requirements
- [Node.js](https://nodejs.org/) version 18 or higher.
- Terminal for running `npm` scripts.
- [VSCode](https://code.visualstudio.com/) is recommended.
### Steps
1. Clone this repository.
2. Copy and rename the `env.dart.template` file to `env.dart`.
3. In the directory where the `package.json` file is, run `npm i` to install all the required packages.
4. Run `npm run setup` to run the initial setup.
5. Run the app
- **Web** can be run locally using `npm run start:web`.
- **API** can be run locally using `npm run start:api`.
- **Data** can be run locally using `npm run start:data`.
## ๐งช Running the tests
This 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!
To run the tests, use the command `npm run test`.
[][coverageReport]
## ๐จ Storybook
This 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`.
To run storybook use the command `npm run storybook:dev`. \
Then open [localhost:3003](http://localhost:3003)
## ๐ช Contributing
Please take a look at the [Contribution Guideline](./.github/CONTRIBUTING.md) before creating an issue or pull request.
## ๐ Documentation
We 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.
## ๐ Links
[][nmsudWebsite]
[][discord]
[nmsudWebsite]: https://nmsud.com
[nmscd]: https://github.com/NMSCD?ref=nmsudForm
[documentation]: https://form-docs.nmsud.com
[coverageReport]: https://form-docs.nmsud.com/coverage/index.html
[discord]: https://discord.gg/jQrNeWeTwR