SmartNews Tracker is an API that allows users to monitor news based on specific keywords. The system periodically queries a news API and sends email alerts whenever new articles matching the keywords are found.
- Java 21
- Docker
- Java 21
- Spring Boot/Data JPA/Security
- Flyway
- Maven
- Lombok/MapStruct
- Testcontainers
- Wiremock
- Docker
- SpringDoc - Open API 3
- Authentication
- User signup with email verification
- User email verification flow (send verification link, verify user)
- User login with JWT token/refresh token
- User logout
- Business
- Users accounts can be managed by admin
- User can register keyword for monitoring
- User receive scheduled emails summarizing ten most popular news monitored
- User can fetch ten most popular news with a keyword
- generate a JWT secret key on JwtSecret.com with 32bytes
- for news service use newsAPI and get an api key
- rename
.env.example
for.env
- fill variables
JWT_SECRET_KEY
andNEWS_API_KEY
with values obtained in steps 1 and 2
# clone repository
git clone https://github.com/kauanmocelin/smart-news-tracker.git
# enter the project folder
cd smart-news-tracker
# run docker container
docker-compose up
# execute the project
./mvnw spring-boot:run
# access the api documentation
http://localhost:8080/swagger-ui.html
Kauan Mocelin