Skip to content

VoteIT/voteit_frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,049 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoteIT frontend

VoteIT is an open source project for digital decision processes. The project is maintained by the Swedish organisation VoteIT, and mainly used by the member organizations.

This repository contains the user interface (frontend) for VoteIT, based on Vue 3 and Vuetify.
Backend repository is found at VoteIT/voteit.

Architecture overview

The app is built with:

Module system

Feature functionality lives in src/modules/. Each module registers itself into shared plugin registries (routes, menu items, settings panels, etc.) at import time via side effects. The import order in src/main.ts matters — see the comment there for details.

Key modules: auth, organisations, meetings, polls, proposals, agendas, discussions, speakerLists, plenary, rooms, notes, tokenAPI.

Key directories

Path Purpose
src/modules/ Feature modules (each self-contained)
src/components/ Shared UI components
src/composables/ Reusable Vue 3 composables
src/utils/ Utilities, REST API client, WebSocket, event bus
src/contentTypes/ Content type registry and base classes
src/plugins/ Vue plugin configuration (Pinia, Vuetify)
src/locales/ i18n translation files

Prerequisites

  • Node.js 22 or 24 (see .nvmrc or CI matrix)
  • A running VoteIT backend — see VoteIT/voteit for backend setup

Project development setup

npm install
npm run dev

The dev server starts at http://localhost:3000 and proxies API/WebSocket requests to the backend.

Environment variables

Copy .env.development and adjust if needed:

VITE_ID_HOST=http://id.localhost:8081   # OAuth identity provider
VITE_PROXY_HOST=voteit.localhost:8000   # Backend host:port to proxy requests to

Available scripts

Command What it does
npm run dev Start dev server on port 3000
npm run build Type-check and build for production
npm test Run unit tests with Vitest
npm run lint Run ESLint (use --no-fix in CI)
npm run typeCheck Run TypeScript type checker without building
npm run extractLocales Report missing/unused translation keys

Run test suite

npm test

Tests are colocated with source files as *.test.ts. Run type checking separately with npm run typeCheck.

Contributing

See CONTRIBUTING.md for coding conventions, how to add a module, translation workflow, and PR process.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors