Java
Software Development
IT Audit
Apply Now

SmartLeave: A Java-Based Employee Leave and Risk Management System

A Java-based application that streamlines employee leave management while assessing IT-related risks from absenteeism and access control to enhance organizational security and efficiency.

Yasir Tahir

Yasir Tahir

Computer Science Fellow
Organization logo DREAM Venture Labs
Schedule Mondays at 6:00 P.M. ET / 3:00 P.M. PT
Duration 8 weeks, 2-3 hours per week
Intermediate Some experience recommended

Description

This Build project introduces you to practical software development by building a simplified Java application that manages employee leave requests and identifies basic IT risks related to segregation of duties (SoD). Through the course of 8 workshops, you will implement core features such as employee data handling, leave tracking, and simple rule-based SoD checks—such as flagging if an employee with access to both approval and processing functions is on leave or returns early. Using Object-Oriented Programming principles, file handling for data storage, and basic report generation, the project offers a hands-on introduction to how technology can support IT governance. Students will also use GitHub for version control and documentation, aligning their skills with industry expectations in software development, audit, and risk management.

Application timeline

Applications open April 14, 2025
Applications deadline May 8, 2025
Application results released Week of May 26, 2025
Project start date Week of June 9, 2025
Project end date Week of July 28, 2025

What you will learn

  • Develop a basic Java application using Object-Oriented Programming (OOP) to manage employee leave records.
  • Implement simple CRUD operations for employees and leave requests with data stored in-memory or using text/CSV files.
  • Apply basic rule-based logic to flag potential IT risks related to absenteeism and user access roles.
  • Generate straightforward, text-based reports summarizing leave activity and flagged risks.
  • Use GitHub to manage your project files, document your work, and present your project in a professional format.

Project workshops

1
2
3
4
5
6
7
8

Prerequisites

  • Understanding of Object-Oriented Programming (OOP) Principles: You will need to understand core OOP concepts such as classes, objects, inheritance, and encapsulation to design a well-structured Java application. This includes defining classes like Employee, LeaveRequest, and RiskAssessment, as well as understanding how to use methods and attributes effectively.
  • Knowledge of Basic File Handling or Data Persistence: You will need to know how to store and retrieve data using file handling techniques such as reading and writing to CSV or text files, or using an in-memory data structure (like a List or Map). This skill will help manage employee and leave records within the application.
  • Familiarity with Rule-Based Risk Assessment Logic: You will need to understand how to design simple risk rules for detecting conflicts in roles (Segregation of Duties). For instance, knowing how to check if an employee holds both "Approver" and "Processor" roles at the same time and then flagging that as a potential risk during leave requests.
  • Basic Report Generation and Data Formatting: You will need the ability to generate and format simple text-based reports summarizing leave requests and identified risks. This involves presenting data in a readable format, such as showing which employees are on leave and if any risk violations were detected due to role conflicts.
  • Version Control with GitHub: You will need to be comfortable with Git and GitHub to manage your project's source code, document your process, and share your work. This includes using basic Git commands (e.g., git init, git commit, git push) and organizing your repository with clear documentation of project features and progress.

Apply Now!

Ready to start this exciting project? Submit your application today and begin your journey with Build!

Apply Now

About the Fellow

Yasir Tahir

Yasir Tahir

Computer Science Fellow
Organization logo DREAM Venture Labs

Yasir Tahir is a Computer Science Build Fellow at Dream Venture Labs, where he collaborates with students on JAVA-based IT audit projects. Yasir is also an IT Auditor at Smart Solutions CPA, focusing on assessing and ensuring the security, efficiency, and compliance of organizational IT systems and processes. With over two years of professional experience in the IT audit field, Yasir specializes in ITGC, ITAC, and compliance audits across diverse industries. He is highly proficient in frameworks like SOX, COBIT, and GRC, and skilled in leveraging SAP systems to identify risks, evaluate controls, and provide strategic recommendations for organizational improvement. He holds a bachelor's degree in computer science and is a Certified Information Systems Auditor (CISA). A fun fact about Yasir is that he is a private pilot who occasionally flies Cessnas around the U.S. with family and friends for fun.

New York

875 Washington St

New York, NY 10011

© The Build Fellowship 2024