Featured image of post Sertifika Otomasyonu

Sertifika Otomasyonu

Python dilinde geliştirdiğim sertifika otomasyonu.

Proje kaynak kodlarına GitHub üzerindeki bu repo aracılığıyla ulaşabilirsiniz.

Açıklama

Sunduğu özellikler:

  • Özelleştirilebilir sertifika tasarımı
  • Özelleştirilebilir sertifika metni
  • QR kod ile sertifika doğrulama
  • E-Posta Otomasyonu ile entegre olarak, sertifikaları ilgili kişilere hızlı bir şekilde mail olarak gönderebilme

Tanıtım

Başlangıç

Bağımlılıklar

Proje aşağıdaki işletim sistemlerinde test edilmiştir:

  • Debian

Projenin düzgün çalışabilmesi için aşağıdaki yazılımların sisteminizde kurulu olması gerekir:

  • Python Yorumlayıcısı 3.9
  • pip
  • inkscape
  • Docker (docker ortamında çalıştıracaksanız)

Kurulum

  1. Bu repository’yi kendi bilgisayarınıza klonlayın:
1
git clone https://github.com/seymenkonuk/generate_certificate.git
  1. Projeye gidin:
1
cd generate_certificate

Yapılandırma

  1. Sertifika tasarımınızı yapınız ve .SVG uzantılı olarak dışa aktarınız.
  2. Şablonunuzu assets/templates/certificate dizinine taşıyınız.
  3. Sertifikanızda yazacak yazı için bir şablon oluşturmak için assets/templates/message/ dizini altına "<şablon_ismi>" adında bir dizin oluşturun.
  4. Bu dizinin altına message.conf ve message.txt adında iki dosya oluşturun.
  5. message.txt dosyasının içine mesaj olarak yazmasını istediğiniz metni yazınız.
1
2
3
4
Example Organizer tarafından 
01.01.2025 tarihinde gerçekleştirilen
Example Event etkinliğine katılımınızdan dolayı 
bu belgeyi almaya hak kazandınız.
  1. message.txt dosyasında 3 farklı değişken ekleyebilirsiniz:
    • Mesaj Sabitleri: her etkinlikte değişen bilgiler için kullanabilirsiniz.
    1
    2
    3
    4
    
    {{#EVENT_ORGANIZER#}} tarafından 
    {{#EVENT_DATE#}} tarihinde gerçekleştirilen
    {{#EVENT_NAME#}} etkinliğine katılımınızdan dolayı 
    bu belgeyi almaya hak kazandınız.
    
    • Kişi Değişkenleri: kişiye göre değişen veriler için kullanabilirsiniz.
    1
    2
    3
    4
    5
    6
    
    {{#EVENT_ORGANIZER#}} tarafından 
    {{#EVENT_DATE#}} tarihinde gerçekleştirilen
    {{#EVENT_NAME#}} etkinliğine katılımınızdan dolayı 
    bu belgeyi almaya hak kazandınız.
    
    Başarı Yüzdesi: {{$BASARI$}}/100
    
    • Özel Değişkenler: hazır olarak 3 değişken sunulmaktadır.
      • {{CERTIFICATE_ID}}: rastgele üretilen benzersiz sertifika ID’si
      • {{QR_CODE}}: üretilen QR kodun path bilgisi
      • {{MESSAGE}}: message.txt dosyasında bu değişken kullanılmamalıdır!
  2. Mesaj sabitlerini message.conf dosyasına tanımlayınız.
1
2
3
4
[Constant]
EVENT_ORGANIZER=Example Community
EVENT_NAME=Example Event
EVENT_DATE=01.01.2025
  1. Kişi değişkenlerini inputs/new_participants.tsv dosyasına tanımlayınız.
1
2
3
NAME	EMAIL	BASARI
Deneme1	Deneme1	90
Deneme2	Deneme2	70
  1. Sertifikada da değişkenleri kullanabilirsiniz.
  2. Sertifikada mesajın yazmasını istediğiniz yer için {{MESSAGE}} değişkenini kullanınız.
  3. settings/settings.conf dosyasına kullanacağınız sertifika ve mesaj şablonunu tanımlayınız.
1
2
3
4
5
[General]
certificate_template_svg=basic.svg

[Message]
certificate_message_template=example1
  1. settings/settings.conf dosyasına {{MESSAGE}} ile ilgili ayarları ve doğrulama ile ilgili ayarları ekleyiniz.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[General]
certificate_template_svg=basic.svg
certificate_verification_base_url=https://recepseymenkonuk.com/sertifikalar
certificate_verification_include_file_extension=true
certificate_id_length=10
text_to_path=true

[Message]
certificate_message_template=example1
certificate_message_x_coordinate=144.28885
certificate_message_y_coordinate=121.16418
certificate_message_row_height=10
certificate_message_row_max_length=70

Çalıştırma

Uygulama Docker üzerinden kolayca çalıştırılabilir.

  • Docker image almak için:
1
make build
  • Projeyi çalıştırmak için:
1
make run
Hugo ile oluşturuldu.
Stack teması Jimmy tarafından tasarlandı