View Code? Open in Web Editor
NEW
Implement a "Where's Wally" (or Waldo/Charlie) Captcha in a simple Symfony Project
Home Page: https://captcha.rherault.fr
Shell 4.55%
PHP 61.10%
Twig 5.33%
JavaScript 11.89%
SCSS 17.13%
captcha-wally's Introduction
Hi ๐ My name is Romain
Developer @ Les-Tilleuls.coop
๐ I'm based in France
๐ฅ๏ธ See my portfolio at 3d.rherault.dev or simple version at rherault.dev
๐ฅ๏ธ PHP / Symfony / WordPress developer
โ๏ธ You can contact me at [email protected]
๐ง I'm learning 3D, Three.js and Golang
My GitHub Stats
captcha-wally's People
Watchers
captcha-wally's Issues
Add a basic form containing the wally captcha
According to #9 , It would be nice to have an administration interface allowing to add a new "Where's Wally" image.
When added, it will split automatically via a doctrine event.
Check if image already split, and do it if not.
Make it responsive and improve a little the design
Add admin page to select valid image (maybe, easyadmin if yes)
The default image when splitted generate images from 250 by 250 and the left width/height for the lasts splitted images are filled with black color which is not good
I recommend to give cols/rows parameters to split() function and generate splitted images based on these variables and source image width/height
As long as the valid image is not selected, block form submissions
Build assets before deployment in Github Actions (npm run build
after npm ci
)
The splitted images that are generated are not destroyed so if I want to split the same image with less cols/rows i'll have a duplicate image
Maybe can be good to have a "splitted" folder or something else to store generated images, and refresh it before each generation
Ref to #4 , it would be cool not to generate the split at each refresh but only once with a command
Add a database (SQL/noSQL (sqlite or mongo ?), don't know) to store captcha information simply:
Base image name
List of generated images
Name of the image containing Wally (the valid image)
The valid image will have to be selected manually, via an admin interface? (maybe)