pascal-zarrad / gcaptchavalidator Goto Github PK
View Code? Open in Web Editor NEWAn open source library which makes it easy to validate a Google ReCaptcha response in Java
License: MIT License
An open source library which makes it easy to validate a Google ReCaptcha response in Java
License: MIT License
Is your feature request related to a problem? Please describe.
Currently every new version has to be deployed manually which takes time.
Describe the solution you'd like
Add automatic deployment through GitHub actions, so that a stable and snapshot deployment happens automatically as soon as something is merged to develop or master.
Is your feature request related to a problem? Please describe.
In version 3, it is currently not possible to do a request.
Describe the solution you'd like
Implement the functionality to execute a request and validate captcha response.
No third party libraries should be used except a JSON parser.
Describe the bug
The changelog is not buid properly on the GitHub releases
To Reproduce
Steps to reproduce the behavior:
Expected behavior
All commits since the last release that fit the conventional commit format are put into the changelog
Is your feature request related to a problem? Please describe.
The current unit tests are more like integration tests. This should be changed.
Describe the solution you'd like
Refactor the unit tests to be really unit tests and not integration tests.
Is your feature request related to a problem? Please describe.
Currently the request and configuration handlers are components on their own and don't work together intuitivly.
Describe the solution you'd like
Glue them together to simplify usage of the library.
Is your feature request related to a problem? Please describe.
The time has come and version 3 is ready for the first release. Only the documentation and build configuration has to be updated.
Describe the solution you'd like
Update the readme to provide information about the new version.
Adjust the pom.xml to fit the new version.
Is your feature request related to a problem? Please describe.
Currently a changelog has to be written manually. This could be changed by switching to conventional (semnatic) commit messages. A GitHub action can the generate a release with a proper changelog build from the commit messages.
Describe the solution you'd like
Define conventional (semantic) commits as standard.
Implement automatic creation of releases when a tag is created.
Additional context
The commit message standard that may be used: https://www.conventionalcommits.org/en/v1.0.0/
Action that may help creating automatic releases: https://github.com/marketplace/actions/generate-changelog-action
Is your feature request related to a problem? Please describe.
Currently there is nothing that can translate the received JSON data to POJOs.
Describe the solution you'd like
Implement some data processing that allows the translation from JSON to POJOs and vice versa.
Also the generall JSON processing should be implemented. A library can be used - the library should be as tiny and fast as possible to reduce the overhead.
Is your feature request related to a problem? Please describe.
Automatic deployment has been added and is enabled. But currently there are no git tags created during master (release) deployment. An automatic creation of tags should be added, so that the maintainer only has to create the GitHub release itself using the created tag and collected artifacts.
In addition, a PR could currently push to develop with a version suffixed with "-SNAPSHOT" which is evil as the "-SNAPSHOT" suffix is handled by us.
Describe the solution you'd like
Create a git tag during master (release) deployment.
Add a workflow that prevents merging when the defined version in the pom.xml is suffixed with "-SNAPSHOT".
Additional context
To get the current version xmlstarlet
can be used (see .github/workflows/deploy.yml -> xmlstarlet sel
which is embedded in one of the commands).
Is your feature request related to a problem? Please describe.
Currently the CI used by the project is TravisCI. An user has to switch to travisci.org to check CI builds. This can be prevented by using GitHub actions.
Describe the solution you'd like
Migrate the current TravisCI config to GitHub actions and add some further workfows to reduce amount of effort for specific tasks.
Is your feature request related to a problem? Please describe.
Currently configuration for version 3 is not possible.
Describe the solution you'd like
Implement basic configuration that is used to set things like the recaptcha secret.
Is your feature request related to a problem? Please describe.
Currently the dependencies are quite old. They may be updated to the latest compatible version.
Describe the solution you'd like
Update the dependencies (especially build tools).
Is your feature request related to a problem? Please describe.
A custom format for results is being used by GCaptchaValidator that is more pleasing for developers. This format requires some JSON <-> POJO mapping to work.
Describe the solution you'd like
Implement custom serializers and deserializers for the request and result objects.
Also route the secret from the configuration into the request object.
During this tasks, some rewriting of the models might be done to move them into root package and ensure that their implementation details can be completly hidden from the end user.
Also the "additional parameters" should be removed from the request to simplify the library and remove unneccessary overhead.
The response should now be completly immutable.
The ReCaptcha version should be now immutable.
Additional context
The first concept of the GCaptchaValidator rewrite is too complex in some parts.
A naming scheme to split API classes/interfaces from implementation details should be applied, as there won't be much packages to reduce the need of unneccessary public methods.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
Create release (PR to master
Is your feature request related to a problem? Please describe.
Currently no features are used that may make it easier to manage the project or organize open source contributions.
Describe the solution you'd like
Add guidelines, templates and so on (as in other repos on the @pascal-zarrad account).
Is your feature request related to a problem? Please describe.
Currently everything - except rebasing develop after a release - is being automated. This might be changed.
Describe the solution you'd like
Add automatic rebasing of develop using a GitHub Action or bot.
Additional context
A solution for the protected branch issue should be developed.
Is your feature request related to a problem? Please describe.
Currently the code of version 2 still lies around on the active develop branch.
Describe the solution you'd like
The code should be removed to get started with version 3.
Is your feature request related to a problem? Please describe.
It should be checked if the current version of the library still works as intended. If it does not work as intended, a fix for v2 should be implemented before development of v3 support modern versions of Google ReCaptcha.
Describe the solution you'd like
Check if the current version of GCaptchaValidator still works as intended. Fix the current version if it is no longer working.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.