├── .gitignore ├── README.md ├── backend └── twitter-clone │ ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── docker-compose.yml │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── safalifter │ │ │ └── twitterclone │ │ │ ├── TwitterCloneApplication.java │ │ │ ├── bucket │ │ │ └── BucketName.java │ │ │ ├── config │ │ │ ├── AmazonConfig.java │ │ │ ├── BeanConfig.java │ │ │ ├── OpenApiConfig.java │ │ │ └── SecurityConfig.java │ │ │ ├── controller │ │ │ ├── AuthController.java │ │ │ ├── CommentController.java │ │ │ ├── LikeController.java │ │ │ ├── RetweetController.java │ │ │ ├── TweetController.java │ │ │ └── UserController.java │ │ │ ├── dto │ │ │ ├── CommentDto.java │ │ │ ├── LikeDto.java │ │ │ ├── RetweetDto.java │ │ │ ├── TokenDTO.java │ │ │ ├── TweetDto.java │ │ │ └── UserDto.java │ │ │ ├── exc │ │ │ ├── GeneralExceptionHandler.java │ │ │ ├── GenericErrorResponse.java │ │ │ ├── NotFoundException.java │ │ │ └── WrongCredentialsException.java │ │ │ ├── model │ │ │ ├── BaseEntity.java │ │ │ ├── Comment.java │ │ │ ├── Like.java │ │ │ ├── Retweet.java │ │ │ ├── Role.java │ │ │ ├── Tweet.java │ │ │ └── User.java │ │ │ ├── repository │ │ │ ├── CommentRepository.java │ │ │ ├── LikeRepository.java │ │ │ ├── RetweetRepository.java │ │ │ ├── TweetRepository.java │ │ │ └── UserRepository.java │ │ │ ├── request │ │ │ ├── AuthRequest.java │ │ │ ├── CommentCreateRequest.java │ │ │ ├── LikeCreateRequest.java │ │ │ ├── RegisterRequest.java │ │ │ ├── RetweetCreateRequest.java │ │ │ ├── TweetCreateRequest.java │ │ │ ├── UpdateCommentRequest.java │ │ │ ├── UpdateRetweetRequest.java │ │ │ ├── UpdateTweetRequest.java │ │ │ └── UpdateUserRequest.java │ │ │ ├── security │ │ │ ├── JWTAccessDeniedHandler.java │ │ │ ├── JwtAuthenticationEntryPoint.java │ │ │ └── JwtFilter.java │ │ │ └── service │ │ │ ├── AuthService.java │ │ │ ├── CommentService.java │ │ │ ├── FileService.java │ │ │ ├── LikeService.java │ │ │ ├── RetweetService.java │ │ │ ├── S3Service.java │ │ │ ├── TokenService.java │ │ │ ├── TweetService.java │ │ │ ├── UserDetailsServiceImpl.java │ │ │ └── UserService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── safalifter │ └── twitterclone │ └── TwitterCloneApplicationTests.java └── frontend └── twitter-clone ├── .gitignore ├── README.md ├── craco.config.js ├── package-lock.json ├── package.json ├── public ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png └── manifest.json ├── src ├── App.js ├── components │ ├── Box.js │ ├── CommentBox.js │ ├── Divider.js │ ├── FeedItem.js │ ├── FeedList.js │ ├── Modal.js │ ├── MyDropzone.js │ ├── RetweetBox.js │ ├── SideLink.js │ ├── TweetBox.js │ └── UserBox.js ├── icons │ └── Icon.js ├── images │ ├── bird.svg │ ├── defaul-bg.png │ ├── default-profile.png │ └── twitter.svg ├── index.css ├── index.js ├── layout │ ├── Container.js │ ├── Content.js │ ├── Login.js │ ├── Sidebar.js │ ├── Signup.js │ └── Widgets.js ├── pages │ ├── Home.js │ ├── Tweet.js │ └── User.js ├── redux │ ├── configureStore.js │ └── reduxSlice.js ├── reportWebVitals.js └── service │ ├── AuthService.js │ ├── CommentService.js │ ├── LikeService.js │ ├── RetweetService.js │ ├── TweetService.js │ └── UserService.js └── tailwind.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |