VueJS Webstore for a bookshop
This is a webstore built with VueJs for front-end. It uses a MariaDB to store the data and a PHP API to communicate with the database and handle the requests. For more information about the API, please visit this repository.
- Responsive design
- Search for books
- Add books to cart
- Remove books from cart
- Checkout (purchase using Stripe)
- View all orders as admin
- Change product quantity as admin
- Authentication
The project is structured in the following way:
src
contains the source code of the projectassets
contains the static assets of the projectcomponents
contains the Vue components of the projectrouter
contains the Vue router configurationstore
contains the Vuex store configurationviews
contains the Vue views of the projectApp.vue
is the root component of the projectmain.ts
is the entry point of the project
See Vite Configuration Reference.
npm install
npm run dev
npm run build
Run Unit Tests with Vitest
npm run test:unit
Run End-to-End Tests with Cypress
npm run test:e2e:dev
This runs the end-to-end tests against the Vite development server. It is much faster than the production build.
But it's still recommended to test the production build with test:e2e
before deploying (e.g. in CI environments):
npm run build
npm run test:e2e
Lint with ESLint
npm run lint