Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/aldrinjenson/moodle-automation

Program to automate the attendance marking for Moodle Platform
https://github.com/aldrinjenson/moodle-automation

automation moodle node puppeteer

Last synced: 7 days ago
JSON representation

Program to automate the attendance marking for Moodle Platform

Awesome Lists containing this project

README

        

# Moodle Attendance Automation

- nodeJs script to automate the attendance marking in Moodle and get updates in Telegram.
Useful if you attend classes but forgets to mark attendance on Moodle for the subject every hour.
- Also includes a Dashboard url to see attendance statistics for each day. Check screnshots [here](./Screenshots/Dashboard.png)

## Steps to Run

- Create a `.env` file similar to the example file in the root directory which contains your credentials
- Update the subjectLinks.js file with the names and urls for your course subjects
- Install dependencies using `npm install`
- run server using `npm start`
- Host the server on heroku or any other platform of your choice and set up a cron job using [cron-job.org](https://cron-job.org/) to ping the `/scrape` url every 30 minutes from morning till evening
- Get notified on Telegram for every succesfull marking or in case some error occurred.

## Credits

https://github.com/puppeteer/puppeteer/

## Development

- When running locally, if you want to see the output of automation in progress, comment out [this line](https://github.com/aldrinjenson/moodle-automation/blob/29c8011868da073bd405ce2d2cbd72cfb0a22e62/script.js#L134) to have puppeteer run without headless mode. You can change it back before deploying.

## Contributing

There are some minor bugs in the UI for the attendance Dashboard and for giving custom commands to control the scraping through the Telegram bot(Attendance marking works fine though). If you are familiar with nodeJs and are interested to improve the project further, PRs are welcome.