68 lines
1.9 KiB
Markdown
68 lines
1.9 KiB
Markdown
# 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# Drone CI Test - di 2 dec 2025 22:17:49 CET
|