Overview
The Node.js + Vue.js/Nuxt.js + MySQL boilerplate project is a template that includes a Node.js REST API and frontend/backend developed using Vue.js and Nuxt.js with BootstrapVue. It provides a starting point for building web applications with these technologies.
Features
- Node.js REST API: Includes various libraries and frameworks such as Express, Webpack, Express Validator, JWT, Bunyan, Promise MySQL, Node Mailer, Jest, Supertest, Nodemon, and DBmigrate.
- Frontend - Nuxt.js: Utilizes Nuxt.js, Vue.js, Vuex, Vuelidate, BootstrapVue, Jest for frontend development.
- Frontend - Vue.js: Utilizes Vue.js, Vuex, Vue Router, Vue Draggable, Vuelidate, BootstrapVue, Jest, and Cypress for frontend development.
- Backend - Vue.js: Utilizes Vue.js, Vuex, Vue Router, Vuelidate, BootstrapVue, Jest, and Cypress for backend development.
Installation
To start the project in your local environment, follow these steps:
- Make sure you have Docker installed.
- Clone the project repository.
- Open a terminal and navigate to the project directory.
- Run the following command to start the Docker containers:
docker-compose up
- Once the containers are up, you can access the services using the following URLs:
- API: http://localhost/api
- Frontend - Nuxt.js: http://localhost/frontend-nuxt
- Frontend - Vue.js: http://localhost/frontend-vue
- Backend: http://localhost/backend
- Mailhog: http://localhost/mailhog
- MySQL: localhost:3307
- The database initially has three users that can be used to login to the frontend/backend:
- Backend (admin): Username - admin, Email - admin@boilerplate.local, Password - 123456
- Backend (staff): Username - staff, Email - staff@boilerplate.local, Password - 123456
- Frontend (user): Username - user, Email - user@boilerplate.local, Password - 123456
To enable live changes for the API, uncomment the volumes section in the docker-compose.yml file.
If you want to have Hot Reload feature, launch the Frontend separately using the following command:
npm run serve
- Access Frontend - Nuxt.js at http://localhost:3000, Frontend - Vue.js at http://localhost:8080, and Backend with the appropriate URLs.
Summary
The Node.js + Vue.js/Nuxt.js + MySQL boilerplate project provides a convenient starting point for building web applications using Node.js for the backend and Vue.js/Nuxt.js for the frontend. It includes various libraries and frameworks to aid in development and offers a pre-configured environment using Docker. The project also provides example users for testing and customization options to enable live changes and Hot Reload feature.