Skip to content

Tamrado/tamra_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation


TAMRA

Social Network Service for everyone

with Spring Boot

 

Table of Contents

 

About The Project

IMG_3790


모두가 편리하게 사용할 SNS 서비스, 탐라 Tamra

 

Built With

 

Dependencies for Server

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'
}

 

Getting Started

Prerequisites

For development, you will only need jdk-1.8

Java

  • Openjdk installation on Mac

    1. Just go on official adopt-openjdk website and download the installer.

    2. You can install it easily with homebrew.

     $ brew tap AdoptOpenJDK/openjdk
     $ brew cask install adoptopenjdk8
    

 

  • Check your java version

    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)
    

 

Start Tamra locally

  1. Clone the repo
$ git clone https://github.com/juhyeon96/Sns-timeline.git
  1. Move to project directory
$ cd Sns-timeline
  1. Build without test : gradle
$ ./gradlew build -x test
  1. Run Tamra
$ java -jar build/libs/*.jar

 

Details

Features

  1. security filter
    • check accesstoken / kakao accesstoken
    • renew accesstoken / kakao refreshtoken and accesstoken
  2. membership
    • sign up/ in/ out
    • kakao sign up/ in/ out
    • upload/edit user image
    • edit user info
    • validation
    • manage alarm
    • search user
  3. follow
    • follow
    • unfollow
    • alarm
    • search friend list
  4. 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
  5. 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

Deploy

Document

  1. Swagger
  2. Github Wiki  

Demo

  1. timeline & user profile   image2    

  2. post create  

스크린샷 2020-01-20 오후 9 45 10    
  1. newsfeed  
스크린샷 2020-01-20 오후 9 46 26    
  1. alarm  
스크린샷 2020-01-20 오후 9 52 12    

 

Contact

About

SNS Timeline Service built with Spring Boot : Tamra

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages