Koa Vue Notes Web
|Updated:
13 Mar 2022
|199 Stars
This is a simple SPA built using Koa as the backend, Vue as the first frontend, and React as the second frontend. Features MySQL integration, user authentication, CRUD note actions, and Vuex store modules.
Categories
Overview:
Koa-Vue-Notes-Web is a simple Single Page Application (SPA) built using Koa as the backend, Vue as the first frontend, and React as the second frontend. It features a fully fleshed-out user login/signup/forgot/reset authentication system using JWT. The project is written in TypeScript and utilizes various libraries such as Vue-Router, Vuex, Bootstrap-Vue, Vuelidate, and Axios.
Features:
- Vue 2.6.11 (Initialized by Vue-CLI 3): The frontend of the project is built using Vue.js version 2.6.11, with the project structure following the Vue-CLI 3 layout.
- TypeScript: The project is fully written in TypeScript, providing increased type safety and making it easier to maintain the codebase.
- Storybook support: The project supports Storybook, a tool for developing UI components in isolation.
- Vue-Router: The Vue-Router library is used for managing the application’s routing.
- Vuex: The Vuex library is used for state management in the application.
- Bootstrap 4 with Bootstrap-Vue: The project utilizes Bootstrap 4 for styling and incorporates the Bootstrap-Vue library for integrating Bootstrap components into the Vue application.
- SCSS: The project uses SCSS as the pre-processor for styling the components.
- Vuelidate validation library: Vuelidate is used for form validation in the application.
- JWT for authentication: The project implements JSON Web Tokens (JWT) for user authentication.
- Axios: Axios is used as the HTTP client for making API requests.
- Vue-Progressbar: The Vue-Progressbar library is used for displaying progress bars in the application.
- Jest for testing: The project utilizes Jest, a JavaScript testing framework, for testing the components and functionalities.
Installation:
To install and get started with the Koa-Vue-Notes-Web project, follow these steps:
- Make sure you have the Vue-CLI installed. If not, install it globally by running the following command:
- Clone the project repository from GitHub using the following command:
git clone <repository_url>
Replace <repository_url>
with the URL of the project repository.
- Navigate to the project directory:
- Install the project dependencies by running the following command:
- Set the required environment variables by creating a
.env
file in the project root directory and adding the following variables:
VUE_APP_URL=<frontend_url>
VUE_APP_API_URL=<backend_url>
Replace <frontend_url>
with the URL where the Vue frontend will be served and <backend_url>
with the URL of the Koa backend.
- Start the development server by running the following command:
- Access the application in your browser by navigating to the URL specified in
<frontend_url>
.
Summary:
Koa-Vue-Notes-Web is a simple SPA built with Koa, Vue, and React. It features a fully functional user authentication system using JWT and incorporates various libraries for smoother development. The project is written in TypeScript and follows the Vue-CLI project structure. Users who are familiar with Vue and TypeScript can find this project helpful as a working example and reference.