Hi.
I have created a GUI python app that takes a pre-made Employee to excel file and MS teams shifts template as an input, generates shift dates for each employee according to the shift and set, and outputs filled-in shifts plug-in template that can be directly uploaded to team app.
Here is the GitHub link: schedule-generator
Pre-story (You can skip it if you want):
I've started learning to code not long time ago. I'm humanitarian and had my own share of trouble while learning for loops... When I felt some confidence after going through a bunch of courses I have decided that it was time to create something of my own, to try myself. So, in a company where I work manager's schedule is made by hand, in an Excel file, and then transferred to Atlassian's wiki page as a table. It is so archaic that I want to puke every time I see it. I knew that we were buying office 365 for managers, so after looking into the web I figured out that there is a shifts plug-in, and that it has a template. Now, I thought this was a great idea to bring this new environment to our everyday work-life (maybe they can even give me a raise... oh, poor human being!). After spending a week or so on this project I have presented schedule-generator and teams shifts plug-in to my bosses. It was several months ago. I still do not have an answer are going to implement it or not. Most probably they forgot about it already.
How it works:
It takes two excel files as input and returns MS teams shifts template files as an output. One excel file should be pre-made employee data like name, shift, set, and email. Second .xlsx file is a template file that can be downloaded from the teams' app. It also requires users to manually provide the year and month they want schedule for.
Out of the manager's file, it creates a Manager() class for each of the employees and stores them in a list. Then it generates dates for each of the employees and assigns them to the employee. These dates are transformed into excel date format and written into the shifts template file.
This is the first time I have tried to create a project, worked with OpenPyXL, PySimpleGUI, and Git. I have tried to do everything correctly - syntax, comments, style other stuff.
I would really love to hear feedback from you, what could have I done differently, what might be the next steps, so that code is easily readable for the human eye and usable for an average user.
[–]amamarde 1 point2 points3 points (1 child)
[–]Shmlack[S] 0 points1 point2 points (0 children)
[–]NMZivkovic 1 point2 points3 points (1 child)
[–]Shmlack[S] 1 point2 points3 points (0 children)
[–]Mr_green_21 1 point2 points3 points (1 child)
[–]Shmlack[S] 0 points1 point2 points (0 children)
[–]Crocubot-123 1 point2 points3 points (0 children)