Targo Timesheet PWA — modernized UI fork
Go to file
2026-01-27 15:06:38 -05:00
public feat(lang)Clean landing dashboard page, footers, headers, language module to match with Quasar and/or Vue conventions 2025-07-30 15:44:23 -04:00
src Merge branch 'dev/nicolas/staging-prep' of https://git.targo.ca/Targo/targo_frontend into dev/nicolas/staging-prep 2026-01-27 14:53:34 -05:00
.gitignore build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
.npmrc build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
docker-compose.yaml Modification in Dockerfile to remove the necessity to have a persistent folder on the docker host. Also added modification in docker-compose file to reflect the Dockerfile changes. 2026-01-07 10:26:20 -05:00
Dockerfile Modification in Dockerfile to remove the necessity to have a persistent folder on the docker host. Also added modification in docker-compose file to reflect the Dockerfile changes. 2026-01-07 10:26:20 -05:00
eslint.config.js fix(eslint): modified rules to finally stop screaming about unused vars even if they're preceded by an underscore 2025-12-05 17:01:57 -05:00
index.html build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
package-lock.json feat(banking): commented banking options - waiting on more infos on the business logics to implement 2026-01-14 11:31:26 -05:00
package.json style: parsed some of the incomming markdown such that headers bigger than h4 will be reduced to enhance readibilty. 2025-10-07 10:40:39 -04:00
postcss.config.js build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
quasar.config.ts fix(approvals): progress on layout, dynamic resizing of table scroll area, UI/UX improvements, redo of left drawer 2025-12-30 17:15:47 -05:00
README.md build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00
tsconfig.json build(scaffolding): set up all folders and files, most of them empty, built some logic, clarified file names. 2025-07-25 16:58:07 -04:00

🌐 Targo 2.0 Frontend

A modern, scalable frontend for managing employees, timesheets, and time-off requests in a rural ISP environment — built with Vue 3 and Quasar Framework.


🚀 Tech Stack

Layer Technology
UI Framework Quasar (Vue 3)
Router Vue Router 4
State Pinia
HTTP Axios
Auth OAuth2/OIDC (popup-based) via backend
i18n Vue I18n
Build Tools Vite (default)
Testing (Planned) Vitest, Cypress

📁 Project Structure

src/
├── boot/                  # Initialization scripts (e.g. axios, auth)
├── modules/               # Feature modules
│   ├── dashboard/         # Role-based dashboards (admin, technician, etc.)
│   ├── auth/              # Login popup, logout flow
│   ├── users/             # User management
│   ├── shared/            # Common components, services, etc.
│   ├── time-sheet/        # Create, validate, export timesheets and expenses
│   ├── router/            # Vue Router config
│   ├── validations/       # ??????
│   ├── i18n/              # Internationalization references
│   ├── pages/             # Route-level pages (fallbacks, misc)
│   ├── stores/            # Pinia stores
│   ├── layouts/           # App shell (toolbar, drawer)
│   ├── css/               # Stylesheets
│   ├── assets/            # Images, styles, icons   
└── App.vue                # Root component

⚙️ Setup Instructions

1. Install Dependencies

npm install
# or
pnpm install

2. Start the Dev Server

quasar dev

3. Build for Production

quasar build

🥪 Testing (Planned)

# Unit tests (Vitest)
npm run test:unit

# E2E tests (Cypress)
npm run test:e2e

quasar ext add @quasar/pwa       # PWA mode
quasar ext add @quasar/testing   # Testing utils

🧹 Linting & Formatting

npm run lint
npm run format

Pre-commit hooks are managed with:


🧠 Notes

  • All routes are prefixed for internal navigation.
  • Common services and components live in modules/shared/.
  • Avoid placing OIDC or sensitive logic in the frontend — everything auth-related is delegated to the backend.

📄 License

This project is proprietary and internal to [Targo Communication].