- Notifications
You must be signed in to change notification settings - Fork90
Spring boot java implementation of realworld example.app
License
NotificationsYou must be signed in to change notification settings
raeperd/realworld-springboot-java
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
ReadWorld.io backend project using spring boot java usingspring-security,spring-data-jpa
- 우아한형제들 기술 불로그 | Todo list 만들기는 이제 그만
- 우아한형제들 기술 블로그 | Gradle 프로젝트에 JaCoCo 설정하기
- 우아한형제들 기술 블로그 | 우린 Git-flow를 사용하고 있어요
- Github | Realworld.io
$ ./gradlew build bootRun
$ docker run --rm -p 8080:8080 ghcr.io/raeperd/realworld-spring-boot-java:master
- Dockerhub registry ishere
- Container tags are simply branch name of this repository following git-flow strategy
After run application, you can try one of followings
$ ./doc/run-api-tests.sh
Import./doc/Conduit.postman_collection.json in your postman application
And also, puregradle test covers almost every line of code.
More details can be found in./doc/README.md andoriginal source
- Always
finalwhenever possible - Always package private class whenever possible
- Always test every package, class, method, instruction in codes
- Except for some boilerplate
equalsandhashcodemethod - This is validated byjacoco-gradle-plugin.
- Coverage verification in
./test.gradle
- Except for some boilerplate
- Try to avoid including additional dependencies as much as possible
- Implements JWT generation / validation logic without 3rd party library#3
- Try to maintain codes in domain package remain POJO
- Except for special spring annotations like
@Service,@Repository,@Transactional - Prohibit use of lombok in domain package
- Except for special spring annotations like
- Try to follow all modern best practices for spring-boot project
- You can open full diagram file in
realworld.drawiousingdraw.io
- Separate password encoding logic out of User.
- User must be created with password encoder.
- Article contains other elements with
@Embeddedclasses - Try to reduce number of repositories.
- Prefer
@JoinTableto@JoinColumn
- Try not to use 3rd party library
- Serialization and Deserialization are seperated with interfaces
- Domain package contains interface, infrastructure code provide implementation
- Application package do stuff with spring-security logic
- Result of
./doc/run-api-tests.sh
- User class doing so many things now. It can be improved someway.
- Service classes can be divided into smaller services
- Test cases order can be improved
You can contact me withemail or issue in this project
About
Spring boot java implementation of realworld example.app
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.




