Targo Timesheet PWA — modernized UI fork
Go to file
2026-02-05 13:55:11 -05:00
.gitea/workflows Rewrote Google Chat notification 2026-02-05 13:55:11 -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(auth): change logout behavior, now sends success code when logout request is processed 2026-02-05 13:23:43 -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(timesheet): add functionality to upload expense attachment to garage test instance 2026-01-30 13:44:43 -05:00
package.json feat(timesheet): add functionality to upload expense attachment to garage test instance 2026-01-30 13:44:43 -05: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 added allowedHosts to make URL functional. 2025-12-30 14:56:20 -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].