Hello volunteers! Please check out CONTRIBUTING
Connecting people in Japan to the healthcare services they need, in the languages they need.
We want to provide free, accessible, and quality healthcare information in multiple languages.
This is the open-source, public repository for the findadoc.jp website! We welcome support and contributions :)
Have a look at the CONTRIBUTING and CODE_OF_CONDUCT to learn more about how to get started and where we could use your help.
- Typescript
- Vue 3
- Nuxt 3
- Pinia
- Node.js version 16.18
- Yarn
- Vue-router
- ohMyFetch
- Yarn Berry (latest version)
- Strongly recommended: IDE plugins for
eslint
,editorconfig
, andstylelint
.- These provide automatic linting error visibility instead of having to run
yarn lint
every time
- These provide automatic linting error visibility instead of having to run
# install dependencies
$ yarn
# set up husky
$ yarn prepare
# For Development, start a dev server with hot reloading at localhost:3000
$ yarn dev
# Generate the production bundle
$ yarn build
# Launch production server
$ yarn start
We use Cypress.io for E2E testing. While the server is running on port 3000, you can run the GUI with:
yarn run test:e2e
Or headless mode:
yarn test:e2e:run
If you'd like to run the server and tests in a single command, use:
yarn start:test
To learn how to write tests and use the GUI runner, visit the wiki
The assets directory contains our uncompiled assets such as Stylus or Sass files, images, or fonts. Here's more information about the usage of this directory in the the documentation.
The components directory contains our Vue.js components. Components make up the different parts of our page and can be reused and imported into the pages, layouts and even other components. Here's more information about the usage of this directory in the documentation.
Used for building the common templates of the news articles. Here's more information about the usage of this directory in the documentation.
Contains all the pages of the site. Nuxt will read all the *.vue
files inside this directory and setup Vue Router automatically.
Here's more information about the usage of this directory in the documentation.
This directory contains our static files. Each file inside this directory is mapped to /
.
Example: /static/robots.txt
is mapped as /robots.txt
. Here's more information about the usage of this directory in the documentation.
Contains Pinia store files for state management and data fetching.
Typescript types should ideally be located in the ./typedefs
folder.
To easily sync object schemas used by our graphql api, we generate api schema types by running:
yarn generate
This will automatically generate the gqlTypes.ts
file with any schema updates from the server/api.
For any new typescript types, feel free to add them as well to the ./typedefs
folder.
- If you're getting errors building, you might need to run
yarn
again to update your dependencies. - If you're getting a different error, feel free to reach out in our #front-end slack channel or create a new github issue!