Targo Timesheet PWA — modernized UI fork
Go to file
Nicolas Drolet f738a5872a fix(all): More changes to UI:
Timesheet: fix UI spaces with scrolling, change ui to not show preset apply if no preset set to employee. Layout Drawer: fix display of options according to user permissions, fix highlight of menu item to match current route name. Employee list: add functionality to prevent users without user management permissions to see or edit user info and prevent seeing inactive users, add remote to shifts for preset editor, add hover effect to employee items when management mode to visually hint at clickable item.
2026-01-02 17:26:20 -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 fix(all): More changes to UI: 2026-01-02 17:26:20 -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
Dockerfile Found a way to set variables inside docker compose and use them in Dockerfile 2025-12-29 11:05:39 -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 refactor(frontend): finally trim i18n messages, refactor and DRY older frontend code, general cleanup and component breakdown 2025-09-19 16:59:15 -04:00
package.json feat(approvals): install chartJS and vue-chartJS for graphical representation of employee details, configuring bar graph. 2025-08-29 08:33:02 -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].