Projects from Spring 2024

Addvisor B.V.: Customer web portal

By Addvisor B.V.

The project entails the creation of a web application where we can invite our customers to log in and see all relevant projects to them, for instance WBSO applications. It would allow us to fully customize the UX per each different type of project or service for our customers. This mainly boils down to our customers being able to enter information on the platform regarding for instance WBSO, for which the information should be structured in a specific type of way, which we want to enforce.

Current situation
We use dynamics 365 CRM, which uses the Microsoft Dataverse to store relevant information about for instance accounts, contacts, etc. However, the way we gather information from our customers to provide our services has some issues, namely:

We email word document back and forth with customers, the following types of documents are used.
Word document for General Company Information.
Word document for WBSO subsidy information retrieval.
Excel template for customer R&D hours administration.
Excel template for internal employee hour administration

The mentioned templates can be provided for reference.

An example of what the information retrieval process looks like:

  • I mail customer x with a blank template for WBSI
  • The customer fills it in and send it back
  • I leave comments in the word document and send it back to the customer
  • Repeat until the info is satisfactory.
  • Manually sending document between people comes with some downsides, namely:


No enforced character limit in the Word templates, while the RVO does enforce a certain number of characters per section for the WBSO subsidy.
No way to easily process information entered in Word documents automatically.
Word documents can get lost in somebodies’ mailbox.
Word documents must be manually placed in Microsoft teams, which can be forgotten.
No integration with our Microsoft Dataverse backend and our Dynamics 365 CRM system.

Description of minimum viable product
A key part of this project should be the ability to invite customers to our system with the following type of accounts:Microsoft account
Google account
Apple account

We must be able to assign one such account to an account in our backend, so for instance we must be able to invite testuser@outlook.com to “Test Company B.V.”, they then receive an email allowing them to login with their account, using the authentication provided by either Microsoft, google, or apple.At a minimum the platform should allow the logged in user to only see “entities” ( so at first this will be WBSO projects ) associated with them, nothing else. 


At a minimum the platform should allow the logged in user to open one of their projects, and see the relevant information, for the minimum viable project only really matters that the info can be fetched from the backend, and that it can communicate with the backend.

 

Edufort: Educational Privacy Portal

By Edufort

We have built a cybersecurity web app for these educational institutions to track progress on
all 320 rules and also see our explanations, maturity levels, add notes, upload documents
etc etc. We would like to expand this by adding a second part (based on the first one) that
focuses on the privacy domain. We want to integrate an earlier project of ours where we
created a privacy portal. This portal allows customers to search and look through a set of
common privacy questions and answers and helps them ask questions. The existing work on
our current app is not very complicated, just a database and a few html/css/js/php files.

Technologies and Systems
The web-app was created by using a theme and is mostly html/css, some javascript and php
is used as well and probably a lot of the new features will make use of this. We use

phpmyadmin to keep track of the database. But we do not really use any difficult
technologies at the moment. I think this suits a student project very well, as I have seen,
during my own participation in a student project, that a complex stack and a client that
interferes in the programming himself, is probably not the best way to go.
Some features we would like the students to accomplish:
- Migrate the privacy portal functionality
- Add functionality for question asking
- Add functionality for assigning tasks
- Add functionality for working in google sheets/word files and embedding them on the
page
- File upload functionality
- Add different registers
- Better search function with filters
- File download functionality
- Add a privacy web app part
- More AI integration, this seems difficult but is just the AI api (GPT) we use.
We can think of more features if wanted/necessary, but we think that the above listed
features are probably sufficient and appropriate for having a successful, rounded project. If
not all steps are finished this is not really a problem, as we aim to continue to innovate
regardless.

H2O Drones: Underwater Inspection Tool

By H20 Drones

We are building an integrally automated system where a customer request evaluates, step by step,  through an intake form to final report delivery of an underwater inspection. 

 

At present, we have only built an inspection tool in accordance with NEN13508-02. We have (for  now) built this in an online form builder "Jotform". This does roll out an automatically generated  report via a PDF form. But we don't have a moving report tool from this yet. It is already linked  

through our database to the visual representation in ArcGis Pro ( https://h2o drones.maps.arcgis.com/apps/webappviewer/index.html?id=0278f4e5bc584cfc88fd43621bc4897e ).  

Desired 

Assignment part 1: further development of inspection tool 

Build an inspection tool for both NEN 2767 and global inspection. And here: 

• Roll out an automatically generated report: in PDF as well as via the front-end reporting  tool (see part 2 of the assignment); 

o Where it does not matter which inspection method is selected by the client (see  heading 3 'inspection tool' of the picture above). 

• And having it linked to our database. 

Assignment part 2: automatically generated inspection tool 

A front-end reporting tool where the underwater inspection images automatically 'fall into the right  baskets'.  

We had a draft made for this ( https://h2o-drones.netlify.app ). After (much) customer input of the  draft, it can now actually be built. The main input is that a kind of dropdown menu should be built  containing three choices: 

1. Report for the professional: sec a pipe drawn with the defects found and with what to do  with it 

2. Report for the average: if they need more information than our sonar software optimization  (paid service; see picture below) can be displayed under the pipe. This software makes one  record of hundreds of individual sonar images. This allows you to see if there are:

a. Strong distortions 

b. How the tube lies in the ground 

c. Exactly where the damages are. 

d. Etc. 

3. Layman's report: if you still can't figure it out, you can "walk through the tube," so to  speak, and see what the underwater inspector saw. Accompanying the video are sonar and  video images that should start running simultaneously. At 'the back' the (sonar) images  have to be looped away via, for example, Vimeo. 

 

IeCeTee: Data enrichment and selection

By IeCeTee

We have a set of data enrichment tools, sources and a lot of AI models that we
experimented with. We want to use these tools to improve our SIEM handling by enriching
and prioritizing the data. For the students this means building a lot of this data enrichment
and models. They do not have to build their own tools but there is a lot of room for their
ideas and thoughts where needed. The unique challenge is fine tuning and improving the
data enrichment and selection. A lot of pre-work and research is done already and I am
available to help steer them in the right direction.

Technologies and Systems
We use Wazuh siem with embeddings from packetbeat and syslog. We pipe all our data into
greylog, where the data enrichment can be done with code. We can also set out automatic

actions from there. Graylog is not that hard and very intuitive. We use grafana for
dashboards.
Some features we would like the students to accomplish:
- Enrich the data and vulnerabilities with third party sources
- Integrate tools like cyber triage, also used by for example the FBI and Deloitte
- Embed our existing AI api tools to enrich data and make choices in there.
- Create further dashboards and alerts.
One of our current dashboards:

In theory the sky's the limit, SIEM systems, especially open source ones are booming. We
are extremely ambitious and want quite some distinctive features. I work on innovation
myself and therefore there is no pressure on the students if they can’t make everything work
in the period we will continue the innovation ourselves. We will not interfere with their
process however.
We can think of more features if wanted/necessary, but we think that the above listed
features are probably sufficient and appropriate for having a successful, rounded project. If
not all steps are finished this is not really a problem, as we aim to continue to innovate
regardless.

IeCeTee: Google Workspace Auditing

By IeCeTee

We have a custom tool to audit Active Directory. We have made a start in the past at
automatically auditing Google Workspace environments. We would like to finish work on
automatically auditing Google Workspace and we would also like a tool that automatically
audits Azure. We can draw experience and possibly also partial code from existing tools
here, but I would like to use my own set of possible vulnerabilities and measures mapped to
maturity levels. Our reporting is completely automated with Artifical Intelligence so it’s mostly
building the scanners. Which are powershell/microsoft graph and python. No extremely hard
programming but really hands-on work with very nice immediate results!
Our reporting environment we push vulnerabilities to.

The only information we need per vulnerability are title, severity (baseline, low, medium,
high, critical) and a grade/cvss. I could provide these, or we could leave this up to the
students.

Technologies and Systems
We use python with selenium for Google Workspace audits. You can use a lot of methods for
azure, such as powershell, microsoft graph etc. Strong preference for something that can
run over an account and not an app registration tho. Existing tools that are somewhat
comparable are Orca, ScubaGear from CISA (I use this one at the moment) and Monkey365
(I use this one as well).
I want to do things differently, a set of vulnerabilities but limited info and no reporting on their
end, so I would say a feasible amount of work. The project would be open sourced when
done.
Some features we would like the students to accomplish:
- Make connection to an Azure or Google workspace tenant given an existing account.
- Read out a set of settings automatically, either with python + selenium for Google
(20/90 vulnerabilities already done here) or with powershell/graph etc.
- Compare these settings with a set of gold values I provide or they create, mapped to
maturity level 1 till 5 and a vulnerability title, cvss and severity.
- Based on this generate a txt file with these in them, that can be fed to our report
generating AI models.
Optional:
- Extending is always possible, for example, given a list of employee names, find out
which users in the tenant are probably already fired and the company has forgotten
to remove them.
- Inactive percentage of users and inactive users out of those cloud environments.
- Etc etc Ideas plenty, if they get all the work we thought of so far we also do email
security scans in a similar fashion.

Management Team 1

Team of managers for multiple projects

Management Team 2

Team of managers for multiple projects

Management Team 3

Team of managers for multiple projects

Management Team 4

Team of managers for multiple projects

Management Team 5

Team of managers for multiple projects

Management Team 6

Team of managers for multiple projects

Mosadex E-health: Chatbot

By Mosadex E-Health

Create a chatbot that answers common questions of customers. This can be text only (a traditional chat bot) or can also be voice (phone) chat. The team needs to decide what is feasible and useful. Idea is to use an LLM solution (OpenAI or Microsoft Azure) to create the chatbot. The standard model should be extended with actual information on pharmacies and other situation specific information. 

Result should be an chatbot that customers can use to communicate with in Dutch to have frequent asked questions answered with use of data from our databases.  

Planet+: Optimal Scans

By Planet+

+SCANS by Planet+ (formerly called Optimal Planet) helps measuring and monitoring the
sustainability and circularity of organisations, products, and services. GipHouse developed this system
since 2015 (!) as a web application in Laravel. In 2021 it was decided that the software must be
redeveloped from scratch. In 2022 and 2023, GipHouse made a new codebase using Python and
Django. A lot of attention was given to code quality and documentation. This new version of +SCANS
is already operational but still needs important work to be able to replace the former version.
Another important aspect is UX.
A solid base is now present to finish this product in one project. This will create a Sustainability KIller
App. Work needs to be done on e.g.:

  • Security
  • Uploading data (spreadsheets) to be used in the Scans to calculate sores
  • Possibility for companies that were scanned to share their profile with another account in the
    system
  • Automatic transfer of data from the old system to the new one
  • A system for inviting users to create an account, fill in a scan and reset passwords etc.
  • Filing and management system for scans and user accounts
  • CO2 and Material Footprinting
  • Many features in the old system that have not yet been redone in the new
  • Continuous integration
  • Documentation for Local Development environment in Github

The old +SCANS is still operational. This can serve as an example for features and modules of the new
sytem. And we are open to ideas for cool stuff!
Planet+ has a lot of experience working with GipHouse and will be an engaged partner for the team.
More explanation about our company can be found here: https://planetpluspartners.com/

PubHubs: Scheduling Plugin

By PubHubs

Apart from several types of chatrooms, forums and so called Hub pages, PubHubs would
like to offer a handful of handy plugins for all kinds of user interaction. One of them is a
Scheduler (think doodle.com or datumprikker.nl).
Flow:
- A user creates a `scheduler room` with the following content:
o A list of proposed dates/timeslots
o A due date

o A list of invited users
- The invited users will be invited to the `scheduler room` to submit their preferences.
- The scheduler will suggest the best option(s) to which end the creater can pick one.
- After the given due date the `scheduler room` will lock and no user can change there
preferences anymore.
Nice to haves:
- Notices: that someone has added/changed their preferences.
- Reminders to users that didn’t submit their preferences.
- A page (per user) with all `scheduler rooms` and their best options.
Techstack
For building a plugin in the hub-client of PubHubs the following stack is used:
- TypeScript
- VueJS 3 (with Pinia)
- Tailwind (CSS)
Hubs use the matrix protocol (www.matrix.org), so you’ll have to dive into the Matrix
specification, as well as how it is implemented in the PubHubs client.
The PubHubs source with documentation is available on GitHub here
https://github.com/PubHubs/PubHubs.
A working demo of PubHubs, feel free to register: https://stable.pubhubs.ihub.ru.nl/client

QbayLogic: Clash based MAC/IP/UDP stack

By QBayLogic

It’s possible to use existing modules written in traditional HDLs from Clash. But this
has some serious drawbacks such as having to write a glue layer and being unable to
simulate the resulting Clash modules that integrate the existing module. To combat

this, QBayLogic prefers to implement commonly used functionality in Clash. Exam-
ples of these so called clash-cores are modules for floating point operations and module

for serial communication over the UART protocol.

A very commonly used interface in FPGAs is standard Ethernet. So, naturally, QBay-
Logic would like to have an Ethernet module written in Clash. This would make

it much easier to have external services interface with the FPGA. Ideally QBaylogic
wants a fully-featured UDP stack (OSI transport layer), but even an IP stack (OSI
network layer) or reuse-able MAC (OSI Data link layer) would have great value. This
allows for a relatively flexible project because MAC, IP and UDP modules very nicely
build on top of one another. Last year a start was made by students from Radboud
University and QbayLogic would like to continue this development.
During this project, the students will get to design digital circuitry and deploy it on
a Lattice based FPGA board.

During the
first iteration of this project, a beginning was made on the implementation of this
stack. During this iteration we will improve the existing code base by improving the
implementations of the current code by making it more generic (and thus applicable in
other scenarios) and well documented. The ultimate goal would be to have a modular
UDP/IP/MAC stack implemented in Clash that can be applied to a wide range of
FPGA families. This stack will then be open sourced to the clash-cores package.
The high level requirements that have already been satisfied are the following:
• Physical layer is interchangeable (OSI Layer 1)
• Core can send static Ethernet frames (OSI Layer 2)
• Core can receive Ethernet frames (OSI Layer 2)
For this iteration we will formulate high level requirements that will later be refined
by the students in cooperation of QBayLogic.

The high level requirements for this iteration are:
• Must Core verifies the checksum of received Ethernet frames (OSI layer 2)
• Must Core can deconstruct dynamic Ethernet frames (OSI layer 2)
• Must Core can send dynamic Ethernet frames (OSI layer 2)
• Must Core can send IP packets (OSI layer 3)
• Must Core can receive IP packets (OSI layer 3)
• Should Core can respond to ICMP requests (OSI layer 3)
• Should Core maintains an ARP table (OSI layer 3)
• Could Core can send UDP packets (OSI layer 4)
• Could Core can receive UDP packets (OSI layer 4)
• Could Core can handle SGMII auto negotiation (OSI layer 1)
During this project the students will write test infrastructure and document their
code. They will create designs that can be deployed on the FPGA showcasing the
achieved functionality. There will be an update meeting approximately every two
weeks to discuss the progress and to align QBayLogic and the students. The students
will gain access to the existing code via a Github repository and the deliverables will be
delivered through reviewed, approved and merged pull requests on a Github repository.

 

Given the nature of the project there are a number of nice to have skills:
• Functional programming, preferably in Haskell.
Since the Clash Compiler compiles Haskell-to-Hardware, Clash code is Haskell
code with a couple of programming restrictions.
• Knowledge of networking layers MAC, IP and UDP.
Because we are aiming to implement a UDP client in digital hardware.
• Digital design knowledge.

The students will be designing and implementing a digital circuit. Thus knowl-
edge of digital logic would be useful.

RU: CampusEnergie

By Radboud Campus & Facilities

'Campusenergie.nl' is a project that was set up together with GIPHouse 2 years ago and we are
ready for an upgrade or version 2.0 of 'campusenergie.nl'. We notice that there is an increasing
interest in information about the energy consumption of the buildings on our campus. This information
about energy consumption is currently shared via campusenergie.nl but has limited functionality. In
order to provide more service, we want to offer everyone who uses the site the opportunity to
compare the energy consumption of the selected building and the period with a comparable
underlying period. I also want to add the outside temperature and relative humidity to the home
screen at the website.
The proposal is to add behind the login screen the following features:
- insight into building occupancy (get data from Hubstar software/website?);
- create an option where available meters can be selected to make a data analysis;
- opportunity to export selected meter data;
- opportunity to make a choice for the interval hour/day/week/month;
- choice of instantaneous or cumulative;
- add outside temperature to selection;
- SPF-factor both instantaneously and over a period (month, year);
- being able to create tasks with automatic e-mail function (for example give upper and lower limits);
- alerts can be sent when a limit value is exceeded or fallen below;
- be able to use dashboards (see for example image below).

RU: People and projects management tool

By Radboud Campus & Facilities

Over the past year, the number of project managers within the department has increased significantly, as has the number of projects. There is currently no up-to-date (live) overview available of ongoing projects within the department. We now use an Excel dump list that is only refreshed every 3 months. This does not provide up-to-date insight, is error sensitive, does not have a nice interface (poor overview) and has too few filter options. The project forecast (or project pipeline) is a separate tab in Excel with no further link to required capacity, expected duration and prioritization.
All this results in poor project planning insight. A consequence of this lack of overview and insight is that all stakeholders involved inside and outside C&F are not sufficiently aware of the available capacity per project leader and of the entire department and what impact this has on the total supply and demand of resources of (potential) projects. There is a strong need for a tool that provides the ability to actually manage ( getting grip and insights into the layering of resources, projects per building, project planning etc from coarse to fine) instead of constantly chasing facts in an ad hoc manner.
Both within the department as well as outside, the threshold to have planning related information (both from resources and project overview perspective) available should be as low as possible. The ability to cross-pollinate projects and facilitate coordination of content and/or process must be provided by the tool to the greatest extent possible instead of by chance/incidental personal coordination.
What does the tool have to comply to?
• Web-based accessibility (simple and easily approachable)
• Very user-friendly (clearly structured, easy and quick to fill in, monkey-proof)
• Different authorizations possible
o Admin (add project leaders, create (sub)teams, add projects etc.)
o User (project leaders, technical consultants, ....)
o Viewer (for example clients or other departments, determine by admin what information a viewer can see)
• Tool developed from user/viewer perspective
o Linked to personal account/login so you start directly in your personal overview and can navigate quickly
o Buttons for "fill in capacity" and "fill in project stages" in user mode
• At the top of each page buttons to quickly toggle between different overviews: resource capacity, active projects, waiting list (projects not yet assigned to a projectleader), forecast/pipeline projects (expected projects in the future)
What should the tool be able to show?
• Per person (user) an overview of his/her assigned and available capacity in relation to the relevant FTE ratio of that person
• Also possibility to "flip" to project overview in which the project phasing becomes visible (filled in by the PL): Initiative/feasibility, definition, SO, VO, DO, OV, TO, UO, execution, aftercare
• If you click on the person from the capacity overview all his/her projects fold open with the respective project planning. Possibility to briefly mention any details/status per project. Same functionality from the project overview by clicking on a project to display the corresponding project planning.
• Project forecast overview (incl. waiting list) with required PL capacity, expected duration and desired start date, desired completion date, client, initiator (who submits the project to C&P).
• Dashboard or graphs for analysis and trends over time: utilization of a team on a quarterly basis (blue line) and utilization of a team on an annual basis (=red line), expected utilization of a team in the future with ongoing works and forecast projects (=gray line)
• Various filter options in project overview (project number, project name, building code, building description, project leader, project category, face number, project phase)
• Regarding the forecast/pipeline and waiting list and the dashboard with analysis and trends, I also already have a list of specific requirements that is too big to share here right now.

RU UMC - AMD: Nitrogen Footprint

By Radboud University Medical Center

We want a program (that’s looks good) where you can answer questions about your personal behavior. The program then calculates how much nitrogen this means: your personal nitrogen footprint. And the program provides tips to reduce that footprint. For an organization such as the RU or the UMC, the nitrogen footprint will show how well the sustainability policy is working. From year to year we want to reduce the footprint for the entire organization. Because the problem is too big to leave to the farmers alone!

A website dashboard is great for the nitrogen footprint of the organization. In principle, this could also be the case for the personal version. With this personal variant, a person completes a questionnaire with predetermined answer categories. Based on this, the system gives a predetermined response such as: “Good job. Also try the vegetarian variant” or “you would save a lot on your personal nitrogen emissions with less air travel”.

RU UMC - AMD: Tree Tinder

By Radboud University Medical Center

In addition to global climate change, biodiversity loss is a global crisis. The latter certainly also applies in the Netherlands and a solution for biodiversity loss is still far from available. The university and hospital recognize this problem and take responsibility for it in research, education and their own business operations. A biodiversity policy has been established by RU and UMC in which one of the pillars is improving the relationship between people and nature. This relationship no longer appears to function properly and is one of the causes of biodiversity loss.

With the Tree Tinder project we want to bring students and employees into contact with nature on their own property, in this case the trees, in a fun way. There are about 6,000 trees on campus, but who really knows them? Trees are also living things and important for biodiversity. For example, they provide housing and food for birds, insects, fungi and mosses and they provide cooling and clean outdoor air for people. Different types of trees each do this in their own way. How do you easily come into contact with such a tree? Just like you can easily get in touch with another person via Tinder, but for trees.

The idea is that you can select a tree that you like via a web page. You can swipe to see another tree that might better suit your preferences. Every tree has a kind of tinder profile, so a photo and information about species, age and perhaps a special history. See the example of the Zilverlinde on our site. A nice side effect is that it encourages a walk and you might end up walking from one tree to another. Good for your personal health. You could also schedule an appointment with someone else at a specific tree. Work meeting in nature. Nice is not it?

If Radboud succeeds, this project could be further rolled out to the municipality of Nijmegen, the Netherlands or Europe. There is a lot of information that is relatively hidden, for example through the “tree of the year” election De Boom van het Jaar - De boom van het jaar.

RU UMC - VGM: Project location management tool

By Radboud University Medical Center

All kind of real estate projects are listed to get an overview of the scope, impact, planning and capacity. The list consists of an Excel document which is not very visible to interpret. It mainly consists of rows and columns with a lot of information such as building number, department, project manager and so on. Furthermore there is no color marking available and excel does not match our expectations when it comes to intuitive design. Therefore we are looking for an interactive graphic user interface to help us interpret the information in a visible way.

You can imagine that with a wide range of different buildings across the campus, a list of projects does not indicate where the building is located. Due to this, our wish is to have a interactive graphic user interface or map with our buildings. Furthermore we would like to select different variables to see whether there is a similarity or conflict in capacity or planning.

SUE: Build a Data Science Platform

By SUE Cloud Native

Kubernetes is an open-source framework for containerized application deployment, scalability, and administration. Kubeflow, on the other hand, is a Kubernetes machine learning toolset. It is intended to make machine learning workflow installations on Kubernetes straightforward, portable, and scalable. However, employing these technologies to set up and manage a machine learning platform necessitates a thorough understanding of Kubernetes, Kubeflow, and their underlying principles. 

This project aims to create and build a user-friendly machine-learning platform for data scientists utilising Kubernetes and possibly Kubeflow. The project's scope covers the following elements: 

● Investigating the architecture that can be used with Kubernetes to deploy Kubeflow. ● Understanding data scientists' requirements and workflow for machine learning initiatives. 

● Creating a platform that fits these needs while also making machine learning model deployment easier. 

● Automating the deployment of this platform. 


Technologies and Systems 

This project will focus on Kubernetes. Therefore, knowledge of Kubernetes is preferable. Next to that, as the platform would be meant for Data Scientists having an affinity with this subject is interesting but not necessary. 

 

Verbelco: WaterWeb Dashboard

By Verbelco

The current version of WaterWeb has a dashboard, in which users can view graphs of
groundwater measurements, statistics, images, and other relevant information. However, this
dashboard is not future-proof; in terms of software quality, it is below standard, and it is
extremely inefficient. For example, when changing one setting of the graph, all the data is
reloaded, making the system unnecessarily slow.
Therefore, we want to create a new dashboard, that is of high quality, efficient, responsive,
and intuitive to use. We would like to maintain most of the functionality of the current
dashboard. The final dashboard should have:

  • Basic information, statistics and images
  • Interactive graphs of groundwater measurements
  • Simple authorisation
  • (Extension) Options to export the data
  • (Extension) Option to display a second graph with KNMI precipitation and
    evaporation data
  • (Extension) A map displaying all hydrological measurement locations in an area


Technologies and Systems:
The students can choose a framework they prefer, in consultation with us. We believe a
framework like Angular or React to be suitable for the project.
Communicating with WaterWeb is necessary in order to retrieve the data. For this, we will
deliver an API. We will also give you access to WaterWeb, to see the current functionality.