http://localhost:8080/swagger-ui/index.html
download last veriosn from https://github.com/ShulV/Xmap/tree/main/postman and import into postman
- Create all tables, indexes, functions and etc, also insert main refrerences: https://github.com/ShulV/Xmap/blob/main/sql/generate_DB.sql
- Insert Countries/Regions/Cities references: https://github.com/ShulV/Xmap/blob/main/sql/insert_cities_regions_countries.sql
- Insert a user and some real spots: https://github.com/ShulV/Xmap/blob/main/sql/additional_insert_scripts.sql
download and open in special UML-tools: https://github.com/ShulV/Xmap/blob/main/uml/relation_model.csv
- Use snake_case for variables
- Write variables in square brackets ('[', ']')
- Write a colon (':') before variables block
- .atInfo() - informing, .atWarn() - warnings, .atError - critical errors
logger.atInfo().log("Image info created: [image_info_id = '{}']", imageInfo.getId());
(snake_case)
"some_key_name" : "value"
P.S. many JSON libraries (in Spring Framework), such as Jackson, support camelCase format out of the box.
But snake_case is more convenient to read now.
The maximum length of methods is 100 lines. The maximum class length is 1000 lines.
If the size of a method or class exceeds these values, then new business logic can only be added in the form of calling methods of other functions.
But it is better to carefully refactor it!
When more than one controller, service, repository, model, dto and etc. appears, we put them together in a package.
Use @RequiredArgsConstructor and only it. 1 constructor for autowiring (without @Autowired annotation). Lombok will generate a constructor that accepts all required dependencies, marked as final or @NonNull.
- Hibernate N+1 problem