Virtual Knowledge is a comprehensive, enterprise-grade Software as a Service (SaaS) platform designed to streamline labor tracking and optimize project resource management. Built for modern corporate ecosystems, the application empowers organizations to monitor workforce allocation across multiple concurrent projects through a smart, intuitive weekly timesheet interface.
The platform eliminates administrative friction by allowing employees to log daily project hours, append specific execution details via granular item comments, and submit overarching weekly assessments through a centralized global comment system. By transforming raw time allocation into structured data metrics, Virtual Knowledge provides stakeholders with actionable insights into project costs, operational efficiency, and team velocity.
- Weekly timesheet
- Assigned projects and departments
- Track time spent
- Write comments
- Calendar
- Minimalist component
- Interaction with Timesheet
- Role management
- Let admin manage settings for you
The client architecture is built on top of a cross-platform mobile and web ecosystem using modern web technologies:
- Core Framework: Angular 20 (new control flow syntax like
@ifand@for). - UI Component Ecosystem: Ionic Framework 8 for hybrid mobile layouts and custom enterprise web interface components.
- Native Runtime Bridge: Capacitor 8 (including Android and iOS platforms support, Haptics, Filesystem, and Keyboard native integration).
- Styling & Theming: Custom corporate components styled using SCSS alongside Ionic utility classes.
- State & Data Utilities: RxJS 7.8 for reactive programming and data streaming,
date-fns4.1 for managing ISO week configurations and date mutations, andlocalforagefor performance-optimized client data persistence. - Security & Cryptography:
crypto-js4.2 for secure frontend payload hashing. - Code Quality & Linting: ESLint 9 with explicit Angular and TypeScript rulesets.
The server ecosystem leverages a robust, secure, and production-ready micro-architecture:
- Language Runtime: Java 17.
- Core Framework: Spring Boot 3.5.6.
- Security & Access Control: Spring Security with JSON Web Tokens (JWT via
jjwt0.11.5) for stateless API authorization. - Data Access & Mapping: Spring Data JPA with Hibernate for ORM modeling, integrated with
dotenv-javafor secure, file-isolated environment variable bindings. - Validation: JSR-380 / Spring Boot Starter Validation constraints for automated endpoint payload filtering.
- Database Engine: MySQL 5.7 containerized inside a local Docker network sandbox.
- Testing Ecosystem: JUnit Jupiter 5.10 and Mockito 5.5 for robust unit isolation testing.
Follow these setup instructions to prepare your Windows machine for local development and collaboration.
Ensure you have the following environments installed on your machine before triggering the build process:
-
NVM for Windows: Node Version Manager to safely switch execution environments.
Check nvm-windows releases and install the latest version.
Commands (Powershell as Administrator):
nvm version
nvm -v
install the latest version of node.js
nvm install latest
install a specific version
nvm install 24.18.0
list of installed node versions
nvm list
use specific version
nvm use 24.18.0
current version used
nvm current
uninstall the latest version
nvm uninstall latest
-
Docker Desktop: Required to provision the localized container data layers.
Visit Docker Desktop and download the latest version.
Usefull commands:
run container from docker-comose.yaml in the repository path
docker compose up -d
list active containers
docker ps
delete current containers
docker compose down
-
Java Development Kit (JDK) 17: Set correctly in your system's
%JAVA_HOME%variables.You can download JavaSE 17 from Oracle
-
Maven: Built-in tool or custom system installation to compile the project dependencies.
Download Apache Maven Binary zip archive from Maven.
-
Angular: Visit Angular for more information.
Installation commands:
install Angular cli
npm install -g @angular/cli
-
Ionic: Visit Ionic for more information.
Installation commands:
install Ionic cli
npm install -g @ionic/cli
clone the repository
git clone https://github.com/1337KR3W/Virtualknowledge-Frontend.gitaccess to the new folder
cd virtualknowledge