Skip to content

cnkyvz/FrmNobetList

Repository files navigation

Staff Scheduling System (FrmNobetListesi)

C# .NET Framework Entity Framework SQL Server

Desktop application for automated staff duty scheduling in banking IT operations. Built during internship at financial technology company serving major banks.

Business Context

Developed for a financial IT services company managing duty schedules between:

  • Bank-side on-call personnel (bi-weekly rotation)
  • IT company support staff (bi-weekly rotation)

Previously managed manually, this system automates the entire scheduling process with email notifications.

Features

Automated Scheduling

  • Bi-weekly duty rotation system
  • Automatic staff rotation (top person moves to bottom)
  • Email notifications to assigned personnel
  • No manual intervention required

Staff Management

  • Add/remove staff members
  • Maintain duty roster
  • Track rotation history
  • Role-based assignments

Technical Implementation

  • Layered architecture pattern
  • Entity Framework ORM
  • MSSQL database integration
  • Desktop WinForms interface

Tech Stack

  • C# .NET Framework - Core development platform
  • Entity Framework 6.4.4 - Object-relational mapping
  • Microsoft SQL Server - Database management
  • Windows Forms - Desktop UI framework
  • Dapper 2.0.123 - Micro-ORM for performance-critical queries

Architecture

FrmNobetListesi/ ├── FRMNobetListesi/ # Presentation Layer (WinForms) ├── NobetListesi.Interface/ # Contract definitions ├── NobetListesi.Service/ # Business logic layer └── packages/ # NuGet dependencies

Layered Architecture

  • Presentation Layer: Windows Forms UI
  • Service Layer: Business logic and rules
  • Interface Layer: Contracts and abstractions
  • Data Layer: Entity Framework models and repositories

Installation & Setup

Prerequisites

  • .NET Framework 4.7.2 or higher
  • Microsoft SQL Server (LocalDB or full instance)
  • Visual Studio 2019 or later

Database Setup

  1. Update connection string in app.config
  2. Run Entity Framework migrations
  3. Seed initial staff data

Running the Application

# Open in Visual Studio
# Build solution
# Set FRMNobetListesi as startup project
# Run (F5)
Business Logic
Rotation Algorithm

Current duty holder moves to bottom of list
Next person in queue becomes active
Automatic email sent to new duty holder
Schedule updates bi-weekly

Email Integration

SMTP configuration for notifications
Automated duty assignment emails
Schedule change confirmations
System status updates

Banking Industry Context
This system addresses real operational needs in financial IT:

24/7 Support Requirements: Banks need constant technical support
Compliance: Automated scheduling ensures coverage consistency
Risk Management: Eliminates human error in duty assignments
Operational Efficiency: Reduces administrative overhead

Performance Features

Efficient database queries with Dapper
Minimal resource usage for desktop deployment
Fast startup and operation
Reliable email delivery system

Security Considerations

SQL injection prevention through parameterized queries
Secure email credential storage
Role-based access to configuration
Audit trail for schedule changes

Development Experience
Built during internship at financial technology company:

Real-world banking industry exposure
Enterprise software development practices
Client requirement analysis and implementation
Production deployment experience

Contributing
This is a portfolio project demonstrating enterprise desktop application development for financial services.
License
This project is for portfolio demonstration purposes.
Contact
Cenk Yavuz - Full Stack Developer

Email: cnkyvzz@gmail.com
LinkedIn: linkedin.com/in/yavuzcenk
GitHub: @cnkyvz

About

Automated staff scheduling system for banking IT operations with layered architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages