Andrew Lalis 9d1712889e | ||
---|---|---|
.. | ||
.vscode | ||
public | ||
src | ||
.editorconfig | ||
.env.development | ||
.env.production | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
.npmrc | ||
.prettierrc | ||
README.md | ||
index.html | ||
package-lock.json | ||
package.json | ||
postcss.config.js | ||
quasar.config.js | ||
quasar.extensions.json | ||
tsconfig.json |
README.md
Gymboard App
The responsive web application for Gymboard. This is a Vue 3 + Quasar project that's written in Typescript.
Developing
In order to develop this app, you'll most likely want to start a local instance of each Gymboard service that it relies on. Each service should expose a ./start-dev.sh
script that you can call to quickly boot it up, but refer to each service's README for more detailed information, like generating sample data.
Install the dependencies
yarn
# or
npm install
Start the app in development mode (hot-code reloading, error reporting, etc.)
quasar dev
Lint the files
yarn lint
# or
npm run lint
Format the files
yarn format
# or
npm run format
Build the app for production
quasar build
Customize the configuration
See Configuring quasar.config.js.
Structure
Within src/
, there are a few key directories whose functions are listed below:
src/api/
contains a Typescript client implementation for consuming the various APIs from Gymboard services such as the CDN, Search, and main API. The main API (src/api/main/index.ts
) can be imported withimport api from 'src/api/main';
. While the other APIs may differ based on their usage, generally the main API is structured as a hierarchy of classes withreadonly
properties to act as namespaces.src/components/
contains auxiliary Vue components that help in building pages.src/pages/
contains all the pages as Vue components.src/i18n
contains translation files as JSON objects for all supported languages.