# IPW CLIENT APPLICATION

## ROUTES

### User authentication is required:

- [member/profile](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/member/profile.vue)
- [member/guidelines](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/member/guidelines.vue)
- [member/codings](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/member/codings.vue)
- [member/logout](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/member/logout.vue)

### Public access:

- [login](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/login.vue)
- [registration](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/registration.vue)
- [reminder](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/reminder.vue)

- [home](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/home.vue)
- [cellars](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/cellars.vue)
- [about-us](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/about-us.vue)
- [manuals](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/manuals.vue)
- [forms](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/forms.vue)
- [literature-and-articles](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/literature-and-articles.vue)
- [audit](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/audit.vue)
- [useful-contacts](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/useful-contacts.vue)
- [courses](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/courses.vue)
- [confronting-climate-change](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/confronting-climate-change.vue)
- [greenhouse-gas-protocol](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/greenhouse-gas-protocol.vue)
- [environment-sustainability-initiatives](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/environment-sustainability-initiatives.vue)
- [links](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/links.vue)
- [contact-us](https://github.com/WeboonTechnologySolution/ipw.co.za/client/blob/main/pages/contact-us.vue)

## PREREQUISITES

- NodeJS

## DEVELOPMENT INSTRUCTIONS

Clone this repository:

    git clone git@github.com:WeboonTechnologySolution/ipw.co.za.git

Navigate to the client directory:

    cd client/

Install the dependencies:

    npm install

To start the client in development mode:

    npm run dev

To view the client application via the live development server (with hot-reloading), view the following URL in your web browser client: http://localhost:8080

To stop the application

    CTRL + c

## BUILD INSTRUCTIONS

To build the application source code for development

    npm run generate-dev

To build the application source code for staging

    npm run generate

To build the application source code for staging

    npm run generate-production

The output will be available in the `client/.output/public` directory and should be combined with the clients built assets.

You can merge this public folder with the servers build assets to operate the application in development mode via PM2, see here for more information: https://github.com/WeboonTechnologySolution/ipw.co.za/server/blob/main/README.md#build-instructions

## GOTCHAS

## DEPENDENCIES

- [node](https://github.com/nodejs/node)
- [bootstrap](https://github.com/twbs/bootstrap)
- [email-regex](https://github.com/sindresorhus/email-regex)
- [owasp-password-strength-test](https://github.com/nowsecure/owasp-password-strength-test)

## DEV DEPENDENCIES

- [node](https://github.com/nodejs/node)
- [@nuxtjs/i18n](https://github.com/nuxt-community/i18n-module)
- [nuxt](https://github.com/nuxt/nuxt)
- [sass](https://github.com/sass/dart-sass)