Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aidarkhaibulov/agregator
FullStack Java Web MVC Application for monitoring marketplaces based on PostgreSQL Provider
https://github.com/aidarkhaibulov/agregator
crud-app dto-pattern hibernate java jpql jsoup parsing-html postgresql repository-pattern spring-mvc spring-security vk-api
Last synced: 4 months ago
JSON representation
FullStack Java Web MVC Application for monitoring marketplaces based on PostgreSQL Provider
- Host: GitHub
- URL: https://github.com/aidarkhaibulov/agregator
- Owner: AidarKhaibulov
- Created: 2023-02-10T13:55:58.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-04T17:24:18.000Z (over 1 year ago)
- Last Synced: 2024-10-09T18:21:11.460Z (4 months ago)
- Topics: crud-app, dto-pattern, hibernate, java, jpql, jsoup, parsing-html, postgresql, repository-pattern, spring-mvc, spring-security, vk-api
- Language: SCSS
- Homepage:
- Size: 122 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Agregator
Java 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
interface that allows users to search desirable products and filter them.## Features
- User registration and login with JWT authentication
- Password encryption using BCrypt
- Role-based authorization with Spring Security
- Customized access denied handling
- Logout mechanism
- Avito parsing via Jsoup, finding announcements by cities and title
- Vk parsing via VkApi
- Removing ads posts while parsing Vk and automatically adding keywords
- Convenient ECommerce-like service with abilities to search specified product, add products to favorites, filter by price, date et c.
- Recently watched products
- Popular announcements
- Recommendation service based on users activity
- Users can place their own announcements
- Spring pagination&sorting
- Bean validation
- Using DTO layer## Technologies
- Java 19
- Spring Boot 3
- JSON Web Tokens (JWT)
- BCrypt
- Spring Security
- Jsoup
- JUnit
- Hibernate
- PostgreSql
- Thymeleaf
- Maven
- Docker## How to use (via docker)
Download .zip file with code, extract it, change directory to the root:
```bash
cd Agregator-master/Agregator-master
```
And create in root directory .env file with the following demo-credentials:
```text
PDB_UN=postgres
PDB_PW=sitis
```Then run docker-compose.yml:
```bash
docker-compose up
```
Now application is available on **http://localhost:8091/**![img.png](img.png)
## Contributing
Pull requests are welcome. For major changes, please open an issue first
to discuss what you would like to change.Please make sure to update tests as appropriate.