KanTab is a kanban board application with microservices. Powered by Moleculer & Vue.
Desired features & modules:
- Node v14.x with async/await
- Moleculer microservices backend
- VueJS frontend (VueX, Vue-router)
- TailwindCSS design
- MongoDB
- Central configuration
- Global REST API
- Swagger API docs
- GraphQL endpoint
- Full authentication
- Login
- Sign Up
- Passwordless account
- Forgot password
- Reset password
- Account verification
- Social login
- Github
- Two-factor authentication
- LDAP
- ACL/RBAC (user roles & permissions)
- I18N
- Websocket
- Plugin system
- Caching with tags
- Metrics & monitoring
- Unit test with Jest, Cypress
- Unit test with Cypress
- Docker files
- Docker Compose file generator middleware
- Prometheus file generator middleware
- Kubernetes & Helm chart files
- Kubernetes file generator middleware
In production, this project contains monitoring feature with Prometheus & Grafana.
The frontend Vue project is in the frontend
folder. The build process generates the bundle files and copy them to the public
folder which is served by the Moleculer API Gateway.
cd frontend
npm i
npm run build
To run the backend you need a running MongoDB server on localhost. Or set the remote MongoDB uri to the MONGO_URI
environment variable.
npm run dev
The application is available on http://localhost:4000
The GraphQL playground is available on http://localhost/graphql
The OpenAPI UI is available on http://localhost/openapi
dev
: Start development mode (load all services locally)start
: Start production mode (don't load any services, useSERVICES
env variable)build:frontend
: Build frontend codelint
: Run ESLintlint:fix
: Run ESLint with fixesdeps
: Check & update NPM dependenciesci
: Run continuous backend test modeci:e2e
: Run continuous E2E test modetest
: Run all tests (backend, frontend, E2E)test:backend
: Run backend teststest:e2e
: Run E2E testsdc:up
: Start the stack in production with Docker Composedc:down
: Stop the stack in production with Docker Compose
Copyright (C) 2021 Icebob