Ghomala language meaning news/message in French
The goal of the project is to allow you to review a notification immediately after your passport is issued at the consulate in Marseille, France. If you want to see what it looks like, go to: https://mtchoun-mouh.mongulu.cm/
When a user goes to the Cameroonian Consulate in Marseille to apply for a passport, he is reminded that in order to know if his passport has been issued, he must regularly look at a page on the consulate website. This page contains all the passport arrival notices in chronological order, beginning with the mention Passport arrival notice of the dd month year .
You have to scroll through this page from the beginning to a release date later than the filing date. The reason is that these are images and not published text; it is therefore impossible to use the browser's search function.
The person who has applied at the consulate, even if he or she has a vague idea of how long it will take, will nevertheless have to check the website regularly to see if it is out or not. It is therefore necessary to keep it in the back of one's mind.
Once on the site, even if she is helped by the fact that the communiqués are arranged chronologically, she must nevertheless browse the communiqués subsequent to her application to see if hers is out. A mistake can happen quickly if you are not concentrated.
The user registers on a platform via his name and email address which will then allow to notify him automatically notified by email of the release of his passport with the following constraints:
The solution will therefore be external to the Consulate's services and the data source will be the Consulate's website.
If you are here, it means that you are interested in an in-house deployment of the solution. Follow the guide :) !
init
and command
scripts in the [.gitpod.yml] file (.gitpod.yml) or use a ready-made development environment on gitpod :cd infra/
terraform init
secretsfoundry run --script "terraform apply"
aws s3 cp ../html/ s3://${TF_VAR_WEBSITE_BUCKET_NAME}.mongulu.cm --recursive
cd infra/api/
pytest test_extract.py
pytest test_notify.py
To launch integration tests locally :
act -j <job_name> --secret-file .env
To invoke register handler locally (lambda function):
cd infra/api
secretsfoundry run -p ../ --script "lambda invoke -v --config-file config-register.yaml"
To invoke scan handler locally (lambda function):
cd infra/api
secretsfoundry run -p ../ --script "lambda invoke -v --config-file config-scan.yaml"
sudo apt-get install -y chromium-browser
pip install -r requirements.txt
pip install -r infra/api/requirements.txt
pytest infra/api/test_liveness_mtchoun-mouh.py
The API Gateway and Lambda services save logs in CloudWatch.
The tracking of the visits on the website is done with https://fr.matomo.org/ (opensource alternative to Google Analytics).
Sentry is used to detection and tracking of errors (UI+backend)
It is possible to track the evolution of the number of registered users per day by exploiting the
ReturnedItemCount
parameter of the Register
table in Cloudwatch DynamoDB graphs.
You noticed a problem, or you want to suggest an improvement ? Do not hesitate to open an issue :) !
Thanks goes to these wonderful people (emoji key):
fabiolatagne97 ⚠️ 💻 🎨 |
ngnnpgn 🤔 |
This project follows the all-contributors specification. Contributions of any kind welcome!