# GGZ Ecademy Nuxt.js Frontend User portal application for GGZ Ecademy platform, built with Nuxt.js 2.x. ## Structure ``` components/ # Vue components ├── Learning/ # Learning product components ├── Members/ # Member management components └── UI/ # UI components pages/ # Page components with routing store/ # Vuex state management middleware/ # Route guards and authentication lang/Ggz/ # i18n translations (NL/EN) layouts/ # Page layouts plugins/ # Vue plugins ``` ## Features - Multi-language support (Dutch/English) - Learning product catalog and progress tracking - User authentication and profile management - Member management - Responsive design ## Development ```bash # Install dependencies npm install # Serve with hot reload at localhost:3000 npm run dev # Build for production npm run build # Launch production server npm start ``` ## CI/CD Pipeline This repository uses Drone CI for automated testing and deployment: - **Test & Build**: Dependency installation, linting, and production build - **Deploy to Staging**: Automatic deployment on push to `main` or `develop` branches - **Deploy to Production**: Manual promotion required ### Deployment Servers - **Staging**: 159.223.242.61 → `/var/www/nuxt/current` - **Production**: 152.42.148.137 → `/var/www/nuxt/current` - **Deployment Script**: `/opt/deploy-scripts/deploy-nuxt.sh` The application runs using PM2 process manager and serves at: - **Staging**: https://staging-mijn.ggzecademy.nl - **Production**: https://mijn.ggzecademy.nl ## API Integration This frontend connects to the Laravel API backend at: - **Staging**: https://staging-api.ggzecademy.nl - **Production**: https://mijnggzbackend.ggzecademy.nl