VEMAP Quick Start
Welkom bij de VEMAP applicatie! Deze guide helpt je om snel aan de slag te gaan met het opstarten en configureren van een ontwikkelomgeving voor de VEMAP applicatie.
VEMAP Quick Start Guide
Section titled “VEMAP Quick Start Guide”Systeem vereisten
Section titled “Systeem vereisten”| Tool | Versie | Gebruik |
|---|---|---|
| Node.js | 18^ | Frontend ontwikkeling |
| Python | 3.12 | Backend en MMMS ontwikkeling (maximaal ondersteunde versie door AWS Chalice) |
| Git | - | Versiebeheer |
| AWS CLI | - | Deployment (optioneel voor lokale ontwikkeling) |
GitHub repositories
Section titled “GitHub repositories”# Frontend repositorygit clone https://github.com/{gebuikersnaam}@MAPtrafficmanagement/vemap-frontend.gitcd vemap-documentation/frontend
# Backend (Core API)git clone https://github.com/{gebuikersnaam}@MAPtrafficmanagement/vemap-backend.gitcd vemap-backendFrontend Setup
Section titled “Frontend Setup”Dependencies installeren
Section titled “Dependencies installeren”# Open de .code-workspace in VS Codenpm installDevelopment Server Starten
Section titled “Development Server Starten”Opstarten van de development server voor de frontend. De default poort is http://localhost:4321.
npm run devBuild Commands
Section titled “Build Commands”# Developmentnpm start
# Ofnpm run devDeployment
Section titled “Deployment”# Deploy naar Netlifynpm run deploy
# node scripts/generate-build-id.js && netlify deploy --prod --buildDe npm run deploy command is een alias voor de volgende command:
node scripts/generate-build-id.js && netlify deploy --prod --buildHet zorgt ervoor dat de build ID wordt gegenereerd, voor client side cache busting. Vervoglens worden alle tests gedraaid via het geconfigureerde predeploy script.
Alle commando’s
Section titled “Alle commando’s”{ "name": "vemap-frontend", "short": "vemap", "type": "module", "version": "1.0.0", "scripts": { "start": "astro dev", "dev": "astro dev", "astro": "astro", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "deploy": "node scripts/generate-build-id.js && netlify deploy --prod --build", "predeploy": "npm run test" }, "dependencies": { ... }, "devDependencies": { ... }}Backend Setup
Section titled “Backend Setup”Virtual Environment Setup
Section titled “Virtual Environment Setup”# 1. Maak virtual environment met Python 3.12 in de root van het projectpython -m venv venv312
# 2. Navigeer naar de backend directorycd backend
# 3. Activeer virtual environment..\venv312\Scripts\activateDependencies installeren
Section titled “Dependencies installeren”# Draai de dependencies installatie in de virtual environmentpip install -r requirements.txtrequirements.txt
Section titled “requirements.txt”chalice>=1.26.0boto3>=1.26.0psycopg2-binary>=2.9.0pydantic>=2.0.0email-validator>=2.0.0requests>=2.31.0Development server starten
Section titled “Development server starten”# Start de development serverchalice localHet opstarten van de development backendserver gebeurt default op poort http://localhost:8000. Voor het configureren van een andere poort, voeg de --port parameter toe aan het commando, gevolgd door de poort nummer.
De backend API is nu beschikbaar op http://localhost:8000.
MMMS Setup
Section titled “MMMS Setup”GitHub Repository
Section titled “GitHub Repository”# MMMS (Mail Microservice)git clone https://github.com/{gebuikersnaam}@MAPtrafficmanagement/vemap-mmms.gitcd vemap-mmmsVirtual Environment Setup
Section titled “Virtual Environment Setup”# 1. Maak virtual environment met Python 3.12 in de root van het projectpython -m venv venv312
# 2. Activeer virtual environmentvenv312\Scripts\activateDependencies installeren
Section titled “Dependencies installeren”# Draai de dependencies installatie in de virtual environmentpip install -r requirements.txtrequirements.txt
Section titled “requirements.txt”boto3>=1.34.0botocore>=1.34.0chalice>=1.26.0psycopg2-binary>=2.9.0pydantic>=2.0.0email-validatorDevelopment server starten
Section titled “Development server starten”# Start de development serverchalice local --port 8001De MMMS API is nu beschikbaar op http://localhost:8001.
Database Setup
Section titled “Database Setup”Development Database
Section titled “Development Database”Voornemen: Er zijn plannen om een aparte development database aan te maken om conflicten met klantdata te voorkomen. Dit zorgt voor een veilige ontwikkelomgeving zonder risico op data corruptie in productie.
Huidige situatie: Voor nu wordt de bestaande database gebruikt voor development.
AWS Setup
Section titled “AWS Setup”AWS Credentials
Section titled “AWS Credentials”aws configureEnvironment Variables
Section titled “Environment Variables”# Backendexport AWS_REGION=eu-west-1export DATABASE_URL=postgresql://user:pass@host:5432/db
# MMMSexport AWS_REGION=eu-west-1export SES_REGION=eu-west-1export SQS_QUEUE_URL=https://sqs.eu-west-1.amazonaws.com/account/queue