{"id":14983011,"url":"https://github.com/qala-io/java-course","last_synced_at":"2025-04-04T15:11:40.707Z","repository":{"id":42501496,"uuid":"78671276","full_name":"qala-io/java-course","owner":"qala-io","description":"Self paced course for Java Engineers","archived":false,"fork":false,"pushed_at":"2025-01-14T07:59:04.000Z","size":246,"stargazers_count":154,"open_issues_count":1,"forks_count":46,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-28T14:11:25.351Z","etag":null,"topics":["hibernate","java","jdbc","maven","rest-api","spring-mvc","testing","tutorial"],"latest_commit_sha":null,"homepage":"http://qala.io","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qala-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-11T19:21:15.000Z","updated_at":"2025-01-14T07:59:07.000Z","dependencies_parsed_at":"2024-12-20T21:13:08.007Z","dependency_job_id":"e840b348-80da-43b2-a8db-d8edf9aed819","html_url":"https://github.com/qala-io/java-course","commit_stats":{"total_commits":144,"total_committers":5,"mean_commits":28.8,"dds":0.07638888888888884,"last_synced_commit":"a747bb4eaa66d107d96104a78777c0d7a57fb2c2"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qala-io%2Fjava-course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qala-io%2Fjava-course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qala-io%2Fjava-course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qala-io%2Fjava-course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qala-io","download_url":"https://codeload.github.com/qala-io/java-course/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247198469,"owners_count":20900081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hibernate","java","jdbc","maven","rest-api","spring-mvc","testing","tutorial"],"created_at":"2024-09-24T14:06:36.189Z","updated_at":"2025-04-04T15:11:40.689Z","avatar_url":"https://github.com/qala-io.png","language":"Java","readme":"Java Professionals Course\n-----------------\n\nWelcome to a course for Java Engineers. It's created for developers who already have some experience but\ndon't understand how the code that they copy-paste works (if you're a beginner, consider \n[Java Beginner course](https://github.com/qala-io/java-beginner-course)). It's for you if:\n \n* You've written at least 1 app with HTTP and DB\n* You don't know which HTTP verbs are idempotent\n* Configuration of your Thread/DB Pool is based on a guess \n* For you `@Transactional` is magic that hopefully works\n* Most of your tests use mocking frameworks\n\nThis course is rarely read in a group, most of the time you're expected to go through the steps on your own\nat your own pace. But feel free to ask questions in the GitHub Discussions.\n\n# What you should expect\n\nThere are so many libraries and frameworks around that it's impossible to learn them all. Fortunately you don't need to.\nWe'll be learning fundamental principles that you can reuse no matter what implementation you choose.\n\nThroughout the course we'll implement a [tiny REST app](./docs/reqs.md) using:\n\n* Maven\n* H2, Hibernate, C3P0 \n* HibernateValidator\n* Spring IoC\n* Tomcat, Spring MVC, Jackson2\n* TestNG, Unitils, Qala Datagen, MockMvc, RestAssured\n\n# Course Programme\n\nWithin the course you're going to have steps to accomplish - most of them will be reading, practicing. There will be\nquestions that you should be able to answer (at least to yourself) - please make sure you don't skip this part.\nTypical pace: 15 hours per week, 6 months for the whole course.\n\n* [Part I: Maven](./docs/programme/maven.md)\n* [Part II: Web and Application Servers](./docs/programme/web-apps.md)\n* [Part III: Spring \u0026 REST](./docs/programme/spring-n-rest.md)\n* [Part IV: JDBC \u0026 Co.](./docs/programme/jdbc.md)\n* [Part V: Declarative Transactions \u0026 AOP](./docs/programme/transactions-n-aop.md)\n* [Part VI: DB Pools](./docs/programme/db-pools.md)\n* [Part VII: Hibernate](./docs/programme/hibernate.md)\n* [Next steps](./docs/programme/next-steps.md)\n\n# Contact Info\n\n* Should you have questions or suggestions please [file them here](https://github.com/qala-io/java-course/issues/new).\n* [Our blog](http://qala.io/blog.html), and here's [the new one](https://github.com/ctapobep/blog/issues)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqala-io%2Fjava-course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqala-io%2Fjava-course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqala-io%2Fjava-course/lists"}