# Client
Source files:
src/client
The client was originally built with Vue CLI 3 using the TypeScript variation as a starting point and later heavily modified to fit the needs of this project.
Most of the original files and functions are still here, but you will most likely find them in different places as I needed to make space for the server files and avoid clashes between configurations and build processes.
The project was bootstrapped with the following options:
- Cypress for end-to-end testing
- Jest for unit testing
- Progressive Web App (PWA) Support
- Sass for style compilation
- TSLint for handling errors
- Vue Router for handling routes
- Vuex for state handling
# Commands
# Development
Serve with hot reload:
$ npm run dev:client
The client will be available at http://localhost:8080/
or a different port if you have multiple sessions running the same time. The development instance can also be accessed using your local IP address, which it will display when starting the task.
# Linting files for errors
Check for errors:
$ npm run lint:client
Fix errors automatically:
$ npm run lint:fix:client
This will mainly fix aesthetic issues reported by TSLint. If you have actual errors in your code, you will need to fix them manually.
The tslint.conf
configuration file is shared between both the client and server and can be found in the root of the project.
# Testing
See the testing section in the main documentation.
# Building for production
Build the client for production:
$ npm run build:client
This will compile all the source files from src/vue
and place them under the dist/public
folder in the root of the project.
For a better understanding on how to build this for production, see the main documentation.
# Vue GUI
If you prefer to run all these commands in one place, you can access them using Vue's graphical user interface:
$ npm run ui