This project is developed for Computer Engineering Department of Namık Kemal University but it could be adapted for other institutions who may benefit from a similar system.
Students at our department needs to complete 60 work-days long practical-work at a company as an intern to be conferred with bachelors degree.
This summer because of the Covid-19 pandemic our department followed the suit offered our students projects which can be done from their homes instead of on-site work. Demand for project-based internship was really. We received over 300 project submissions after the deadline.
Over-demand posed some paperwork related problems for internship commission. Our university asked to fill a poorly prepared Word document from each student and submit this form besides their project files and project report. Students are asked to fill student ID, name, begin date of their project and their of their project fields of this form. Committee members need to fill some other areas of this form and print and sign the form afterwards.
Unfortunately students didn't conform to a single standard when they filled this fields. Some students to choose to capitalize their surnames but not everyone. There was variability between font family, font size and text color choices. Added to that form was a docx Word document 🤦♂️ It was really annoying to see one page document rendered in multiple pages when you open it using LibreOffice.
If information about necessary information is recorded in a CSV file in proper way, this program generates painful-to-work forms automatically as PDF files and also generates a dispatch/memo document where all the student internship information is present for evaluated internships. This document is given to Dean's Office after singed by internship committee members
- LibreOffice (This program uses LibreOffice headless)
- Go
- Linux system (May also work on MacOS or Windows but not tested yet)
go get -u https://github.com/gusanmaz/InternshipFormGenerator
InternshipFormGenerator config config.yaml
All program parameters are read from this configuration file. Read all comments on this file and adjust parameter values to your own needs
You also need to have a CSV file where all necessary student internship value is recorded.
Name/file path of this file should also be set from config.yaml
A simple CSV file with fields header could give some insight about format of this value
Student ID | Student Name | Student Surname | Project Subject | Internship Begin Date | Internship End Date | Internship work-days | Conferred work-days |
---|---|---|---|---|---|---|---|
1850506803 | John | Doe | GPT4 | 22.07.2020 | 23.08.2020 | 20 | 15 |
1939567665 | Jane | Doe | Minix Squared | 20.06.2020 | 20.08.2020 | 60 | 60 |
If an internship is on-site internship write company name to Project Subject
field with a prefix of @.
For example if if student has interned at Google write @Google to Project Subject
field.
You would definitely want to change form and dispatch template files at templates directory if you are to use this program in a different university.
You could fodt and PDF files generated by this program by using internship.csv
and config.yaml
files in Output directory.
GPLv3
Güvenç Usanmaz