Targo Timesheet PWA — modernized UI fork
Go to file
Nic D 505fdf0e62 feat(expense): finalize implementation of S3 in expenses
Now able to upload and then view images attached to expenses. Will need to check if further changes need to be made to updating expenses. Minor structural changes here and there.
2026-02-11 07:52:07 -05:00
.gitea/workflows Added docker image building 2026-02-05 15:30:16 -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 feat(expense): finalize implementation of S3 in expenses 2026-02-11 07:52:07 -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].