How arzukerimxanova/portfolio-api works
This is a Spring-based portfolio API, with separate controller, service, repository, and domain-model areas, plus authentication and authorization code. The apparent user workflow is to authenticate and then access portfolio data such as education, experience, projects, and skills. The README provides no capability details, and the sampled source contains only build configuration, so these workflows and component boundaries are inferred from names and layout; specific calls and data transfers cannot be verified.
Components 21
Portfolio API
- Spring application
src/main/java/org/example/portfolio_api_project/PortfolioApiProjectApplication.java - Education API
src/main/java/org/example/portfolio_api_project/controller/EducationController.java - Experience API
src/main/java/org/example/portfolio_api_project/controller/ExperienceController.java - Projects API
src/main/java/org/example/portfolio_api_project/controller/ProjectController.java - Skills API
src/main/java/org/example/portfolio_api_project/controller/SkillController.java - Education service
src/main/java/org/example/portfolio_api_project/service/impl/EducationServiceImpl.java - Experience service
src/main/java/org/example/portfolio_api_project/service/impl/ExperienceServiceImpl.java - Project service
src/main/java/org/example/portfolio_api_project/service/impl/ProjectServiceImpl.java - Skill service
src/main/java/org/example/portfolio_api_project/service/impl/SkillServiceImpl.java
Authentication
- Authentication API
src/main/java/org/example/portfolio_api_project/controller/AuthController.java - Authentication service
src/main/java/org/example/portfolio_api_project/service/impl/AuthServiceImpl.java - JWT security
src/main/java/org/example/portfolio_api_project/security/SecurityConfig.java - JWT filter
src/main/java/org/example/portfolio_api_project/security/JwtAuthenticationFilter.java
Persistence
- JPA repositories
src/main/java/org/example/portfolio_api_project/dao/repo - PostgreSQL database
src/main/resources/application.properties - Portfolio entities
src/main/java/org/example/portfolio_api_project/dao/entity
Shared models
- Request and response DTOs
src/main/java/org/example/portfolio_api_project/dto - DTO mappers
src/main/java/org/example/portfolio_api_project/mapper - Input validation
src/main/java/org/example/portfolio_api_project/validation - API exception handling
src/main/java/org/example/portfolio_api_project/exception/GlobalExceptionHandler.java
Other components
- API client