(Only relevant for ITECH students)
An application that regularly inscribes school attendance
- Itech auto attendance is a program which automatically enroll attendance while you are still in bed. dont try to denied it...
- It could run on your main machine or on a server.
- The program will try to attendance daily at 9 am and on startup.
- Here is a full example (keep in mind that by default the browser window will not show)
example.mp4
- Install docker
- Copy the
docker-compose.yml
and theappsettings.json
from this repository to your server. - Configure your appsettings.json. See here how to configure settings.
(Keep in mind to set the
UseRemoteDriver
setting totrue
) - Start auto attendance by running
docker compose up -d
in the same directory as thedocker-compose.yml
. (The argument-d
starts the docker compose detached and is optional)
- .Net 6 runtime installed
- Latest version of chrome (needed for selenium)
- Download the project build here. (Or download and build the project yourself)
- Configure your appsettings.json. See here how to configure settings.
- Run the project by starting the
ITECH-Auto-Attendance.exe
(In the configuration you can setHideWindow
to false to see if the program works as expected)
There are some required configurations to be made for this to work.
For editing and following along you can find the config in the appsettings.json.
-
(Required) Username and Password
- Your itech login credentials.
- This is needed for authenticating the user and to enroll attendance.
-
(Required) ClassCouresLink
- The Link of the Moodle Course where the Attendance is.
-
(Required) AttendanceName
- The name of the Attandance in the Course.
- This is needed for selenium to find and the right attendance
- You can find the Attendance name by viewing the Moodle course and copying the name of the attendance link.
-
CronExpression (defaults to:
"0 0 9 ? * mon-fri"
)- Defines when the program should try to enroll attendance. By default it runs every week day on 9 am.
-
(Required if not in class IT 1j) RangeDatesToAttend (defaults to the IT 1j lessons schedule)
- Defines the date ranges from what to what date auto attendance should try to attend on. The predefined dates are for the class 'IT 1j'. Feel free to validate the dates for your class. See here: https://www.itech-bs14.de/bildungs-angebote/duale-berufsausbildung/informationstechnik/blockplanung-informationstechnik
-
HideWindow (defaults to:
true
)- Defines if the browser window should show. By default its hidden.
-
RunOnlyOnce (defaults to:
false
)- Defines if the program should terminate after it had tried to enroll attendance regardless if it was successful or not. By default the program never terminates.
-
RemoteDriverUrl (defaults to:
http://selenium:4444
)- Specifies the remote web driver url. This will be required if you choose to run your program on the server. This setting can be left to the default and will connect to the selenium container created by the docker compose.
-
UseRemoteDriver (defaults to:
false
)- Defines if the program should use a remote web driver. This is also only relevant if you choose to run your program on the server. By default this is set to false.
If enabled, auto attendance will send you a confirmation email with logs to let you know if it was able to successfully attend or not.
-
Enabled (defaults to:
false
)- Defines if the program should send an email, notifying you the result.
-
(Required if enabled) Email
- The email address where auto attendance should send the mail to.
-
(Required if enabled) EmailPassword
- The email password where auto attendance should send the mail to.
-
(Required if enabled) SmtpHost
- The Smtp host address for the smtp server from the mail above.