{"id":15133490,"url":"https://github.com/aidarkhaibulov/agregator","last_synced_at":"2026-02-21T10:31:25.458Z","repository":{"id":142633583,"uuid":"600062517","full_name":"AidarKhaibulov/Agregator","owner":"AidarKhaibulov","description":"FullStack Java Web MVC Application for monitoring marketplaces based on PostgreSQL Provider","archived":false,"fork":false,"pushed_at":"2023-09-04T17:24:18.000Z","size":128386,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-30T17:38:23.447Z","etag":null,"topics":["crud-app","dto-pattern","hibernate","java","jpql","jsoup","parsing-html","postgresql","repository-pattern","spring-mvc","spring-security","vk-api"],"latest_commit_sha":null,"homepage":"","language":"SCSS","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/AidarKhaibulov.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":"2023-02-10T13:55:58.000Z","updated_at":"2023-03-21T11:00:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"3ca3ecb8-da2a-49a0-beab-5b547c11784b","html_url":"https://github.com/AidarKhaibulov/Agregator","commit_stats":{"total_commits":68,"total_committers":2,"mean_commits":34.0,"dds":0.07352941176470584,"last_synced_commit":"9ac6f315f436324f951e5f1fafe647117cd6eda0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AidarKhaibulov%2FAgregator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AidarKhaibulov%2FAgregator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AidarKhaibulov%2FAgregator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AidarKhaibulov%2FAgregator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AidarKhaibulov","download_url":"https://codeload.github.com/AidarKhaibulov/Agregator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237807458,"owners_count":19369595,"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":["crud-app","dto-pattern","hibernate","java","jpql","jsoup","parsing-html","postgresql","repository-pattern","spring-mvc","spring-security","vk-api"],"created_at":"2024-09-26T05:01:17.231Z","updated_at":"2026-02-21T10:31:25.403Z","avatar_url":"https://github.com/AidarKhaibulov.png","language":"SCSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agregator\nJava web mvc application for monitoring marketplaces. It checks avito-like stores and social media publics to put all the ads together. Application has convinient web\ninterface that allows users to search desirable products and filter them.\n\n## Features\n- User registration and login with JWT authentication\n- Password encryption using BCrypt\n- Role-based authorization with Spring Security\n- Customized access denied handling\n- Logout mechanism\n- Avito parsing via Jsoup, finding announcements by cities and title\n- Vk parsing via VkApi\n- Removing ads posts while parsing Vk and automatically adding keywords\n- Convenient ECommerce-like service with abilities to search specified product, add products to favorites, filter by price, date et c.\n- Recently watched products\n- Popular announcements\n- Recommendation service based on users activity\n- Users can place their own announcements\n- Spring pagination\u0026sorting\n- Bean validation\n- Using DTO layer\n\n## Technologies\n- Java 19\n- Spring Boot 3\n- JSON Web Tokens (JWT)\n- BCrypt\n- Spring Security\n- Jsoup\n- JUnit\n- Hibernate\n- PostgreSql\n- Thymeleaf\n- Maven\n- Docker\n\n\n\n\n## How to use (via docker)\nDownload .zip file with code, extract it, change directory to the root:\n```bash\ncd Agregator-master/Agregator-master\n```\nAnd create in root directory .env file with the following demo-credentials:\n```text\nPDB_UN=postgres\nPDB_PW=sitis\n```\n\n\nThen run docker-compose.yml:\n```bash\ndocker-compose up\n```\nNow application is available on **http://localhost:8091/**\n\n![img.png](img.png)\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first\nto discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faidarkhaibulov%2Fagregator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faidarkhaibulov%2Fagregator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faidarkhaibulov%2Fagregator/lists"}