Releases: adizafri2000/billscraper
Releases · adizafri2000/billscraper
v0.2
v0.2
Added features
- Database integration via Postgresql on Supabase
- Utilising private API service for whatsapp message sending
- Created two cron workflows on master branch:
- Master branch main cron job: Executes automation every 1st day of the month. Includes database persistence to prod and sending WhatsApp messages.
- Master branch cron job tests: Executes automation every 5 days for test purposes. Saves data to SQA schema and skips sending WhatsApp messages.
New Feature Update Limitations
- As the WhatsApp messaging API is private, other users are not able to use it, hence unable to fully use the automation, unless they edit it.
- If the API breaks, the entire messaging module of the automation is unusable.
- The cron jobs may not run immediately on schedule, as it is dependent on whether Github Actions can support the load to run or not. Reference
![image](https://private-user-images.githubusercontent.com/61119610/267673258-5dd35f25-ea6f-472a-96ec-8f9b6cdf8282.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzI2MTcsIm5iZiI6MTczOTM3MjMxNywicGF0aCI6Ii82MTExOTYxMC8yNjc2NzMyNTgtNWRkMzVmMjUtZWE2Zi00NzJhLTk2ZWMtOGY5YjZjZGY4MjgyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE0NTgzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM3YjZlMGU4NjEzOTJhOWI1NzI5YzZlZDBkNTNhNTg4NWM1NzZkZjgyZGNkODFmZmNjNGNiOWM2ODdkMmJiYjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dD8_Ei8tF8dfhU71_ipEuTh0shm8IHMOwKxyBVyAjIg)
Cumulative Project Limitations
- Automation scrips are dependent on website HTML structure.
- Automation scripts are also dependent on code dependencies/modules.
- Whatsapp messaging via pywhatkit will actually fail in github actions, but no error logs are produced. However, this does not break the pipeline.
- As the WhatsApp messaging API is private, other users are not able to use it, hence unable to fully use the automation, unless they edit it.
- If the API breaks, the entire messaging module of the automation is unusable.
- The cron jobs may not run immediately on schedule, as it is dependent on whether Github Actions can support the load to run or not. Reference
![image](https://private-user-images.githubusercontent.com/61119610/267673258-5dd35f25-ea6f-472a-96ec-8f9b6cdf8282.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNzI2MTcsIm5iZiI6MTczOTM3MjMxNywicGF0aCI6Ii82MTExOTYxMC8yNjc2NzMyNTgtNWRkMzVmMjUtZWE2Zi00NzJhLTk2ZWMtOGY5YjZjZGY4MjgyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDE0NTgzN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM3YjZlMGU4NjEzOTJhOWI1NzI5YzZlZDBkNTNhNTg4NWM1NzZkZjgyZGNkODFmZmNjNGNiOWM2ODdkMmJiYjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dD8_Ei8tF8dfhU71_ipEuTh0shm8IHMOwKxyBVyAjIg)
Future works
- Add unit tests to modules.
- Organize code into relevant packages or modules wherever necessary.
- Save the screenshots to a remote bucket or storage service.
v0.1
v0.1
Features
- Basic working automated web scraping on tnb and air selangor portal
- Basic working whatsapp messaging utility
- Workflow setup for dev branch push
Limitations
- Automation scrips are dependent on website HTML structure which I am not in control of.
- Automation scripts are also dependent on code dependencies/modules which I am also not in control of.
- Whatsapp messaging actually fails in github actions, but no error logs produced because it is not yet built. However, this does not break the pipeline.
Future works
- Database integration via Postgresql on Supabase (it's free)
- Test Twilio for WhatsApp API (Free version)
- Add a pipeline for pull requests on the main branch