Digital Unity Digital Unity
  • Our services
  • Contact
  • Jobs
  • Blog
Lok Fung Choi
  • July 15, 2021
  • Blog

Lok’s internship @ Digital Unity

Lok Fung Choi

Hello, my name is Lok Fung Choi. I am currently working at Digital Unity as a consultant. My journey began when I started an internship at Digital Unity.
During this internship, I have built a new module in Digital Unity’s timesheet tool. The timesheet tool is an in-house application that is responsible for generating timesheets for employees. It is still in the beginning stages with room for improvement. The goal is to add a new module that allows you to add expenses for each employee in the timesheet Tool.

Project: Timesheet Tool

The architecture

It is worth mentioning that before you can begin, you will need to understand the inner workings of the timesheet tool. It mainly consists of 3 parts. The first part is the MSSQL database for storing data. The second part is the .NET core application that follows the CQRS design pattern for handling the CRUD operations. The third part is the Angular web application that allows you to interact with the timesheet tool.

To add expenses, we first need to add a new model in the .NET Core application. The application uses Entity Framework as an ORM to map the model to the database. Once the models were created, I added the necessary controllers for the CRUD operations of the expenses. I used Postman to test the API calls of all the controllers. Postman is a handy tool for the testing of any API. Finally, I have added the necessary components and services in the Angular frontend.

Daily standup

Although doing Scrum by myself would be overkill, we still did a Daily standup. In the daily standup, we discussed my progress and resolved any blocking issues or questions I had. Stephan helped guide me in the right direction where needed. If I encountered any problem, I knew I could contact him. He was always prepared to help me or point me to Niels or Kenny for problem-solving.
Although we worked fully remote due to the Covid-19 pandemic, these video calls made sure I felt like part of a close family.

Deployment on Azure

It’s very nice that I have the chance to test my new development on the timesheet tool in Azure. I’m allowed to have my resource group in the Azure environment. In my previous job, there were few opportunities to play with Azure. I never deployed an application to Azure from the ground up. It was an educational experience to follow the process from start to finish. I have learned a lot about it. It also shows a lot of trust from Digital Unity since every service I start in the Azure environment. All resources are directly billed to their credit card. In their vision, it’s an important investment in the growth of my knowledge!

Google Service

During development, I have the chance to learn how Google Cloud works. The intention is to upload the original file of the expense note via the platform and save it on Google Drive. For this to work, I had to add a service account on the Google Cloud Platform. Then we needed to download the API key and add it to the timesheet project. Once this is done, you can use your service account to update and upload files to Google Drive for users in the Digital Unity domain.

Google has extensive APIs to use in your applications. From storing files on Google Drive, to image recognition using Google Vision. I appreciated getting the chance of exploring the possibilities that Google offers.

My progress as a developer

I have learned a lot during my period working on this project. Not only on a technical level but also in the interaction with my teammates. Cristo Spreeuwers has helped me to communicate with my peers. He taught me that knowing how to code is not enough and he has helped me to develop my social skills. Niels taught me the design pattern of CQRS and how it works. Kenny taught me how to use an Azure Service Bus and helped me with my Angular problems. Stephan has helped me to understand how Google APIs work. I have learned a lot from this experience and I am glad that I had this opportunity.

Final thought

Stephan and Cristo were very happy with my contribution to the timesheet tool. It resulted in me being hired as an employee at Digital Unity. Now I continue my journey as a Full Stack .NET developer!
Digital Unity is such a nice company to work with. They’re very supportive and help you with whatever problem you have. During my time on the project, I have learned a lot from them. I still have a lot to learn, but I know I can count on my colleagues for their support. In the end, I am very happy to be on the team and cannot wait for new challenges in the future.

Prev PostA journey as a consultant at NVSM
Next PostDMA & DSA? What impact do they have on your business?
Related Posts
  • Stock photo that displays IT Infrastructure.
    Top 10 risks in your IT Infrastructure December 22, 2022
  • Techorama 2022
    Kenny van Meines @ Techorama 2022 June 9, 2022
  • blockchain
    Introduction to Blockchain March 8, 2022
  • Nick Andries
    Consultancy adventure at Digital Unity February 28, 2022
info@digitalunity.be Drop Us a Line
+32 479 92 07 94 Call Us Now
Philipssite 5 box 1 - 3001 Leuven Get Direction
© 2021 - Digital Unity - Follow us:     
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. We also use them to create anonymous statistics on our website useage. By clicking “Accept All”, you consent to the use of ALL the cookies.
Reject AllAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT