This repository contains the code for the web application of Embloy Genius. In the future it will be available online at: https://genius.embloy.com
GNU AFFERO GENERAL PUBLIC LICENSE v3.0 (gpl-3) This is due to the possibility of publication of this version in the future.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by anyone, as defined in the GNU AFFERO GENERAL PUBLIC LICENSE v3.0 license, shall be licensed as above, without any additional terms or conditions.
Contriution Guide
-
This web application is based on Next.JS 13 and uses the App Router system
-
Against current design best-practises it is meant to render pages, components on client side if possible (SEO doesnt matter)
-
Study the app/layout.js file, AuthWrapper makes sure that every URL is secured with Embloy Authentication (instead stated otherwise), UserContext makes sure that certain data is available globally without fetiching the same data multiple times. NOrmally the best practise would be to fetch data where it is needed
-
To fetch data use the predefined request functions in lib/misc_requests.js to ensure the fulöfillment of the designed security patterns of Embloy Authentication
-
Embloy Genius Web App relies on both big backend systems of Embloy - Core and Genius. Dont get confused with the name, it is called Genius because this web application is positioned as a solely B2B tool to ioerate Embloy asa business like Youtube Studio
A verified Embloy Account is required to use Embloy Genius.
Instead of manually adding jobs on Embloy Core, users can import or export data in specific formats or via an API. This also enables existing HR Software like SAP HR to interact with Embloy. A tighter integration in an existing Tool environment is possible, but requires a manual set up of data pipelines by Embloy Platforms staff, billed by the hour.
- Like Github Workflows but for HR processes
- Recieved applications for a specific job are depicted and need to be acknowledged (manually/ workflow automated) to be fed into Genius
- Each application opens a new line in a kanban board like DOM and a each aplication has a status pointer object that is draggable
- Each application on the board now gets a task pipeline and the user can ut the pointer on whatever task he wants
- Each task has a commands/ api cllas/ actions prefdeined taht wll be executed by GEnius automatically
- Users can so overview each individual application and at the same glance manipulatie/ steer/ controll the individual progress
- tbd.
tbd.
tbd.
tbd.
Genius should create custom backend / frontend code snipplets for users to integrate EMbloy in their own pages (like Paypal developer)
NOTE: You only need to follow these steps if you wish to contribute and need to test your changes locally
1. Prerequisites
-
Embloy Core instance available & running
-
Embloy Genius instance available & running
-
Install npm
2. Start the server
If you wish to experiment on our backend or contribute to our front end, you can test your changes by starting a local server.
-
(PLANNED) Create a file './env.local' with the following content:
tbd.
-
Verify correct IP addresses & i.a. updated CORS plicies of Core and Genius
-
Run
npm install
to install all required packages. -
Run
npm run dev
to start the web applciation. -
Go to http://localhost:3000
- Build docker container:
docker build -t embloy-genius-front . && docker tag genius-front:latest <your-username>/embloy-genius-front
- Push to container registry:
docker push <your-username>/embloy-genius-front
- Run image in K8s:
kubectl apply -f AKS_genius_front.yml
© Carlo Bortolan, Jan Hummel
Carlo Bortolan · GitHub @carlobortolan · contact via Software Development Department @ [email protected]
Jan Hummel · GitHub @github4touchdouble · contact via Product Department @ [email protected]