Gymboard/gymboard-app
Andrew Lalis 4d396819c4 Added about page. 2023-03-29 11:55:19 +02:00
..
.vscode Added better submission upload workflow. 2023-01-26 12:52:22 +01:00
public Added icons, better navigation, and working translation. 2023-01-24 19:52:55 +01:00
src Added about page. 2023-03-29 11:55:19 +02:00
.editorconfig Added web app and design. 2023-01-19 21:12:25 +01:00
.env.development Added env files, completed user settings page. 2023-02-16 12:05:18 +01:00
.env.production Added env files, completed user settings page. 2023-02-16 12:05:18 +01:00
.eslintignore Added web app and design. 2023-01-19 21:12:25 +01:00
.eslintrc.js Added better submission upload workflow. 2023-01-26 12:52:22 +01:00
.gitignore Added web app and design. 2023-01-19 21:12:25 +01:00
.npmrc Added web app and design. 2023-01-19 21:12:25 +01:00
.prettierrc Added web app and design. 2023-01-19 21:12:25 +01:00
README.md Added more docs 2023-03-26 13:33:10 +02:00
index.html Added better submission upload workflow. 2023-01-26 12:52:22 +01:00
package-lock.json Cleaned up UserService.java, refactored user page to use profile information instead of other endpoints. 2023-03-25 11:29:15 +01:00
package.json Added env files, completed user settings page. 2023-02-16 12:05:18 +01:00
postcss.config.js Added better submission upload workflow. 2023-01-26 12:52:22 +01:00
quasar.config.js Clean up toasts. 2023-03-27 18:57:31 +02:00
quasar.extensions.json Added auth management, and AccountMenuItem.vue 2023-01-30 15:57:11 +01:00
tsconfig.json Added better submission upload workflow. 2023-01-26 12:52:22 +01:00

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 with import 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 with readonly 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.