anselm94/cap-java-employee-management

Merbin J Anselm

Web Designer
Software Architect
Software Engineer
Java
SAP
SQLite

Employee Management

A sample Employee Management Portal based on SAP's CAP framework.
This project supports single-tenancy (on local via H2 Database or on cloud via SAP HANA) as well as multi-tenancy (only on the Cloud in SAP HANA via CAP's multitenancy support) in SAP Cloud Platform.
Demo of Employee Management - CAP application. Sample data shown are fictitious

Documentation

1. Use-cases

There are 2 types of users - manager & employee, with set permissions to do particular actions

2. Domain Modelling

3. Services

Service Allowed Roles Description
Create, Update & Delete teams. Also create new positions (members) in a Team and assign Employees
Create, Update & Delete Employees. Also create, update, delete Skills which Employees may have & For Managers
Create, Update & Delete applications as well as Accept/Reject applications created by Employees
For Employees - Create (Apply for a Job) applications for various Teams and add in a Resume as plain-text
Personal Employee details, if the has one and optionally add/delete Skills and update DOB

Build & Run

Prerequisites

Java 11 or higher (via SDKMAN! preferred)
Maven 3.5 or higher
CDS (install)

Run on Cloud

1. Multi-Target Apps (MTA) Method

Prerequisites

Cloud MTA Builder Tool (Install)
Cloud Foundry CLI (Install)
Cloud Multiapps CF CLI Plugin (Install)
Cloud Foundry CLI logged into the SAP Cloud Foundry account (Step 1 of tutorial)

Build & Deploy in the Cloud Foundry

Build the MTAR package. Once built, you can find a package named employee-management_x.y.z.mtar under mta_archives/ folder
Build - mbt build
Push the MTAR package and deploy in the Cloud Foundry
Deploy - cf deploy mta_archives/employee-management_x.y.z.mtar

Extending the SaaS application

After subscribing to the application in a separate Sub-account, assign yourself the Extension_Developer & Extension_Admin roles.
Execute the following to create an extension project in your local
While logging in, a passcode may be asked (if your account is protected by MFA), for which a passcode can be created from https://<SUBSCRIBED_SUB_ACCOUNT>.authentication.sap.hana.ondemand.com/passcode. Once authenticated, an extension project will be created locally.
Once created, you can push the changes to your subscribed tenant and activate it by executing the following command
More details on SaaS Extensions here.
Partner With Merbin J
View Services

More Projects by Merbin J