A collection of small applications used for demonstrations and educational purposes.
Follows some guidelines for this repository to keep consistency among the projects.
Base package: co.aurasphere.courseware
Specific package for demo projects: BASE_PACKAGE + (java|j2ee).(technology)
Specific package for integration projects: BASE_PACKAGE + (java|j2ee).integration
Each Java/J2EE project must use Maven with the following GAV conventions:
GroupId: co.aurasphere.courseware
ArtifactId for demo projects: [technology]-demo
ArtifactId for integration projects: [technologies]-integration
Version: 1.0.0
Packaging: WAR (must be present only for J2EE projects)
The code must be minimal and simple, enough to give a basic introduction on the mechanics of a specific technology but at the same time not enough to become a brain teaser and generate confusions. Further in-depth analysis is out of the scope of this repository.
Since this repository's main function is educational, the code must be heavily commented and each element must have its own JavaDoc. Moreover, each file will begin with a non-lucrative license header in order to give credit to the author.
In the context of this repository, a project can be considered a J2EE project if it has any web component which cannot be run outside of a web or an application server. Some examples are servlets and JSP. Technologies which may be considered J2EE but don't need a server (for instance Hibernate or Spring Core), will be categorized under Java instead.
J2EE specific features (i.e. servlets API and the like) must be imported as dependencies inside the pom.xml
instead of relying on Eclipse .classpath
files.
Some frontend only projects make uses of AJAX features. This may become annoying when trying to run them since you will have to disable the CORS policy in your browser or run it on a web server. In order to make this easier and at the same time to mark those projects, each of them will be bundled with a .project
file to import it inside Eclipse and run it on any web server (not necessarily an application one). Obviously, you can just take the project content and put it on a web server of your choice instead.
If you want to see here a specific technology or integration of technologies, feel free to open an issue and I'll see what I can do.
This projects accepts contribution but they will have to strictly adhere to all the previous guidelines. I'll also reserve the right to reject any pull requests due to new rules that come to my mind at the moment or other kinds of problematics that I may haven't take into account yet. In any case, contributions are still appreciated even if they may not be merged.