Social Network Service for everyone
with Spring Boot
모두가 편리하게 사용할 SNS 서비스, 탐라 Tamra
- Spring Boot 2.1.7 RELEASE
- AWS RDS
- AWS S3
- Tomcat
- Spring Security
- Kakao api
- Spring batch/ Quartz
- Lombok
- front repo : https://github.com/jeongdaeun98/timeline_front
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-web-services'
compile 'commons-io:commons-io:2.6'
compile group: 'com.google.guava', name: 'guava', version: '28.0-jre'
compile group: 'org.javassist', name: 'javassist', version: '3.25.0-GA'
compile group: 'commons-fileupload', name: 'commons-fileupload', version: '1.4'
compile group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.602'
compile fileTree(dir: 'ext_libs', include: ['*.jar'])
compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
compile('org.springframework.boot:spring-boot-starter-batch')
compile group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.2'
compile group: 'org.springframework', name: 'spring-context-support', version: '5.2.1.RELEASE'
compile('org.springframework.boot:spring-boot-configuration-processor')
implementation 'com.google.code.gson:gson:2.8.6'
//db connection
compile group: 'org.apache.tomcat', name: 'tomcat-jdbc', version: '7.0.19'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.session:spring-session-jdbc'
runtimeOnly 'mysql:mysql-connector-java'
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.16'
compile group: 'com.zaxxer', name: 'HikariCP', version: '3.3.1'
//lombok
annotationProcessor 'org.projectlombok:lombok'
compile 'org.projectlombok:lombok'
//authentication
compile 'org.springframework.boot:spring-boot-starter-security'
compile group: 'org.springframework.security', name: 'spring-security-web', version: '5.1.5.RELEASE'
compile 'org.springframework.security:spring-security-config:5.1.5.RELEASE'
compile 'io.jsonwebtoken:jjwt:0.9.0'
// document
implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'
//test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.projectreactor:reactor-test'
}
For development, you will only need jdk-1.8
-
-
Just go on official adopt-openjdk website and download the installer.
-
You can install it easily with homebrew.
$ brew tap AdoptOpenJDK/openjdk $ brew cask install adoptopenjdk8
-
-
If the installation was successful, you should be able to get like this.
$ java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
- Clone the repo
$ git clone https://github.com/juhyeon96/Sns-timeline.git
- Move to project directory
$ cd Sns-timeline
- Build without test : gradle
$ ./gradlew build -x test
- Run Tamra
$ java -jar build/libs/*.jar
- security filter
- check accesstoken / kakao accesstoken
- renew accesstoken / kakao refreshtoken and accesstoken
- membership
- sign up/ in/ out
- kakao sign up/ in/ out
- upload/edit user image
- edit user info
- validation
- manage alarm
- search user
- follow
- follow
- unfollow
- alarm
- search friend list
- post
- post create/ read/ update/ delete
- manage show level of each post
- upload/ delete images
- comment create/ read/ update/ delete
- like/ cancel like to post
- list liked-user to post
- tag friends
- alarm : about tag
- newsfeed
- get user-profile
- total post
- total followers
- total following
- post list
- main page
- my posts
- friends' posts for followers/public
- my news of like/ comment
- friends' news of like/ comment
- get user-profile
- AWS EC2
- Link : http://tamra.site/