C# otomasyon projeleri örnekleri paylaşmaya devam ediyorum. Bugünkü proje örneğimiz, özellikle yazılım bölümlerinde öğretmenlerin ve hocaların ödev olarak vermeyi çok sevdiği C# Staj Takip Sistemi Otomasyonu projesidir.
Bu yazıda sizlere C# Staj Takip Otomasyonu Programı hakkında genel bilgiler vereceğim. Proje açık kaynak kodludur ve eğitim amaçlı olarak incelenebilir.
C# Staj Takip Sistemi Otomasyonu Nedir?
Bu proje, C# programlama dili ile geliştirilmiş bir staj takip otomasyonu uygulamasıdır. Veritabanı tarafında SQL Server kullanılmıştır.
Sistem genel olarak üç farklı kullanıcı tipinden oluşmaktadır:
- Firma girişi
- Kurum girişi
- Öğrenci girişi
Buradaki kurum, okul, lise veya üniversite gibi eğitim kurumlarını temsil etmektedir.
Projenin Genel Özellikleri
C# Staj Takip Sistemi Otomasyonu, öğrencilerin staj başvurularını, firmaların stajyer arama süreçlerini ve kurumların staj onay işlemlerini takip edebilmesi için hazırlanmıştır.
Programda öğrenciler firmalara başvuru yapabilir, firmalar gelen başvuruları inceleyebilir ve kurumlar staj süreçlerini onaylayabilir veya reddedebilir.
Firma Paneli Özellikleri
Firma kullanıcıları sisteme giriş yaptıktan sonra aşağıdaki işlemleri gerçekleştirebilir:
- Gelen staj başvurularını görüntüleme
- Başvurulardaki CV dosyalarını görüntüleme
- Başvuruları kabul etme veya reddetme
- Kaydedilen ve kaydedilmeyen başvuruları görüntüleme
- Stajyer arama durumunu aktif etme
- Stajyer aramayı durdurma
- Staj defterlerini kabul etme veya reddetme
Firma tarafında özellikle başvuru yönetimi ve staj defteri kontrolü ön plandadır.
Öğrenci Paneli Özellikleri
Öğrenci kullanıcıları sistem üzerinden staj süreciyle ilgili birçok işlemi yapabilir.
Öğrenci panelinde bulunan başlıca özellikler şunlardır:
- Staj defteri oluşturma
- Firmalara istek gönderme
- Başvuru yapılabilecek firmaları görüntüleme
- Başvuru yapılan firmaları görüntüleme
- Kabul edilen başvuruyu görüntüleme
Bu sayede öğrenci, staj başvuru sürecini sistem üzerinden takip edebilir.
Kurum Paneli Özellikleri
Kurum paneli okul, lise veya üniversite gibi eğitim kurumları için hazırlanmıştır.
Kurum kullanıcıları:
- Staj başvurularını kabul edebilir
- Staj başvurularını reddedebilir
- Staj defterlerini inceleyebilir
- Staj defterlerini kabul veya reddedebilir
- Öğrencinin gün gün yaptığı işleri görüntüleyebilir
- Öğrencinin hangi ay ne yaptığını takip edebilir
- Kabul edilen ve reddedilen staj defterlerini görüntüleyebilir
Kurum paneli, firma ve öğrenci arasındaki staj sürecinin resmi olarak takip edilmesini sağlar.

C# Staj Takip Sistemi Otomasyonu Nasıl Kurulur?
Projeyi bilgisayarınızda çalıştırmak için öncelikle bilgisayarınızda SQL Server kurulu olmalıdır.
Daha sonra proje klasörü içerisinde bulunan database klasörünün altındaki veritabanını SQL Server’a içe aktarmanız gerekmektedir.
SQL Server’a veritabanı yükleme işlemini bilmiyorsanız aşağıdaki makaleye göz atabilirsiniz:
https://ramazanakbuz.com/sql-servere-veritabani-yukleme-veritabani-cikarmaimport-export/
Veritabanını yükledikten sonra proje içerisindeki sqlbaglantisi.cs dosyasını açarak bağlantı yolunu kendi bilgisayarınıza göre düzenlemeniz gerekmektedir.
SQL Bağlantı Sınıfı
Aşağıdaki kod, proje içerisinde kullanılan SQL bağlantı sınıfıdır:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
namespace Staj_Takip_Sistemi
{
class sqlbaglantisi
{
public SqlConnection baglan()
{
//açık bırakılan bağlantıları kapatan temiz bir bağlantı cümlesini sınıf şeklinde yazdık
SqlConnection baglanti = new SqlConnection("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=staj_takip;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");
baglanti.Open();
SqlConnection.ClearPool(baglanti);
SqlConnection.ClearAllPools();
return (baglanti);
}
}
}
Bağlantı cümlesindeki Data Source ve Initial Catalog alanlarını kendi SQL Server ayarlarınıza göre değiştirmeyi unutmayın.
Kurulum işlemleri tamamlandıktan sonra sistemde kurum, öğrenci ve firma hesapları oluşturarak projeyi test edebilirsiniz.
Not: Projenin ticari amaçlı kullanılması veya doğrudan ödev olarak sunulmasından sorumluluk kabul edilmez. Proje eğitim ve örnek inceleme amacıyla paylaşılmıştır.
C# Staj Takip Sistemi Otomasyonu Proje Dosyası İndir
Aşağıdaki bağlantı üzerinden C# Staj Takip Sistemi Otomasyonu proje dosyasını indirebilirsiniz.
STAJ TAKİP OTOMASYONU TIKLA İNDİR
C# Staj Takip Sistemi Otomasyonu Örnek Resimleri
Bu bölümde projenin ekran görüntülerini paylaşabilirsiniz.
- Firma giriş ekranı
- Öğrenci giriş ekranı
- Kurum giriş ekranı
- Başvuru ekranı
- Staj defteri ekranı
- Kabul ve red ekranları
C# Staj Takip Sistemi Otomasyonu Örnek Kod
Aşağıda projeden örnek bir kod parçası yer almaktadır. Bu kod, firma tarafında gelen staj başvurularını görüntüleme, kabul etme ve reddetme işlemleri için kullanılmaktadır.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Staj_Takip_Sistemi
{
public partial class firma_kabul : Form
{
public firma_kabul()
{
InitializeComponent();
}
sqlbaglantisi baglanti = new sqlbaglantisi();
DataTable dt2 = new DataTable();
public static string pdfyolu = "";
public void firma_basvuru_doldur()
{
dt2.Clear();
SqlDataAdapter listele = new SqlDataAdapter("select * from firma_basvurular where staj_onay='" + "Onay Bekliyor" + "'", baglanti.baglan());
listele.Fill(dt2);
dataGridView1.DataSource = dt2;
listele.Dispose();
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.Columns[0].Visible = false;
dataGridView1.Columns[2].Visible = false;
dataGridView1.Columns[4].Visible = false;
dataGridView1.Columns[5].Visible = false;
dataGridView1.Columns[6].Visible = false;
dataGridView1.Columns[7].Visible = false;
dataGridView1.RowHeadersVisible = false;
dataGridView1.Columns[1].Width = 60;
dataGridView1.Columns[3].Width = 150;
dataGridView1.Columns[8].Width = 65;
dataGridView1.Columns[1].HeaderText = "Öğrenci Adı";
dataGridView1.Columns[3].HeaderText = "Mesajı";
dataGridView1.Columns[8].HeaderText = "Başvuru Tarihi";
}
private void firma_kabul_Load(object sender, EventArgs e)
{
firma_basvuru_doldur();
kabuldoldur();
reddoldur();
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textBox6.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
textBox8.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
textBox5.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();
textBox7.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
textBox1.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();
axAcroPDF1.LoadFile(Application.StartupPath + "\\pdf\\" + dataGridView1.CurrentRow.Cells[4].Value.ToString());
pdfyolu = Application.StartupPath + "\\pdf\\" + dataGridView1.CurrentRow.Cells[4].Value.ToString();
//burda pdf yolu seçerken application.startup yani başlangiç klasöründe pdf klasörünün içinde dedik
}
private void button1_Click(object sender, EventArgs e)
{
cv_pdf gor = new cv_pdf();
gor.Show();
}
private void button3_Click(object sender, EventArgs e)
{
SqlCommand guncelle = new SqlCommand("update firma_basvurular set staj_onay ='" + "Onaylandı" + "' where Id='" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'", baglanti.baglan());
guncelle.ExecuteNonQuery();
MessageBox.Show(textBox6.Text + " Adlı Öğrenciyi Başarıyla Staja Kabul Ettiniz !");
textBox6.Text = "";
textBox8.Text = "";
textBox5.Text = "";
textBox7.Text = "";
textBox1.Text = "";
axAcroPDF1.LoadFile("");
firma_basvuru_doldur();
kabuldoldur();
reddoldur();
}
private void button8_Click(object sender, EventArgs e)
{
SqlCommand guncelle = new SqlCommand("update firma_basvurular set staj_onay ='" + "Reddedildi" + "' where Id='" + dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'", baglanti.baglan());
guncelle.ExecuteNonQuery();
MessageBox.Show(textBox6.Text + " Adlı Öğrenciyi Başarıyla Staja Kabul Ettiniz !");
textBox6.Text = "";
textBox8.Text = "";
textBox5.Text = "";
textBox7.Text = "";
textBox1.Text = "";
axAcroPDF1.LoadFile("");
}
public void kabuldoldur()
{
SqlCommand komut = new SqlCommand("SELECT * from firma_basvurular where staj_onay='" + "Onaylandı" + "'", baglanti.baglan());
SqlDataReader oku = komut.ExecuteReader();
while (oku.Read())
{
listBox2.Items.Add(oku["ogrenci_adsoyad"].ToString());
}
}
public void reddoldur()
{
SqlCommand komut = new SqlCommand("SELECT * from firma_basvurular where staj_onay='" + "Reddedildi" + "'", baglanti.baglan());
SqlDataReader oku = komut.ExecuteReader();
while (oku.Read())
{
listBox1.Items.Add(oku["ogrenci_adsoyad"].ToString());
}
}
}
}
Kod Hakkında Kısa Açıklama
Yukarıdaki kodda firma panelinde bekleyen staj başvuruları listelenmektedir.
firma_basvuru_doldur() metodu ile firma_basvurular tablosundaki Onay Bekliyor durumundaki başvurular çekilir ve DataGridView içerisine aktarılır.
Firma, seçilen başvuruyu kabul ettiğinde başvurunun staj_onay alanı Onaylandı olarak güncellenir. Reddetme işleminde ise aynı alan Reddedildi olarak değiştirilir.
Ayrıca öğrencinin CV dosyası, proje klasörü içerisindeki pdf klasöründen okunarak görüntülenmektedir.
Sonuç
C# Staj Takip Sistemi Otomasyonu, özellikle C# Windows Forms ve SQL Server öğrenen öğrenciler için faydalı bir proje örneğidir.
Projede:
- Çok kullanıcılı giriş sistemi
- SQL Server veritabanı bağlantısı
- Firma, öğrenci ve kurum panelleri
- Başvuru yönetimi
- Staj defteri takibi
- Kabul ve red işlemleri
- PDF görüntüleme
gibi birçok temel otomasyon özelliği bulunmaktadır.
Bu proje, C# otomasyon projeleri geliştirmek isteyenler için güzel bir başlangıç örneği olabilir.