Code Monkey home page Code Monkey logo

sns-itda's Introduction

Itda

  • Instagram, Twitter와 같은 SNS 서비스 ‘Itda’를 개발하는 프로젝트
  • 애플리케이션의 UI는 카카오 오븐으로 대체하여 프론트엔드 부분은 생략하고 벡엔드에 초점을 맞춰 백엔드 개발에 주력
  • 단순 기능 구현 뿐 아니라 성능, 코드의 재사용성 및 유지보수성을 고려하여 구현하는 것을 목표로 개발

✅ 사용 기술 및 개발 환경

Java, Spring Boot, IntelliJ, Maven, MyBatis, MySQL, Redis, Jenkins, Docker

✅ Application UI

자세한 사항은 👉 https://github.com/f-lab-edu/sns-itda/wiki/Application-UI

예시)

Part of Application UI

✅ Architecture

Architecture

✅ ERD

자세한 사항은 👉 https://github.com/f-lab-edu/sns-itda/wiki/ERD

✅ 주요 기능

▶ 사용자

  1. 회원가입 / 탈퇴
  2. 로그인 / 로그아웃
  3. 회원정보 수정
  4. 게시글 작성 / 수정 / 삭제 / 조회
  5. 피드 조회
  6. 팔로우 / 언팔로우
  7. 알림 - 다른 사람이 팔로우한 경우

✅ 프로젝트를 진행하며 고민한 Technical Issue

자세한 사항은 👉 https://github.com/f-lab-edu/sns-itda/wiki/Technical-Issue

  • 분산 처리 환경에서 대용량 트래픽을 견디기 위한 로그인 기능 구현
  • AOP를 적용하여 부가 로직 제거
  • 프로퍼티 파일을 이용한 외부 설정 주입과 운영 환경에 따른 프로퍼티 파일 분리
  • Spring Cache 적용으로 읽기 작업 성능 향상
  • Redis LFU Eviction 정책을 적용하여 효율적인 캐시 띄우기
  • Redis 성능 향상을 위한 Redis 세션 저장소와 캐시 저장소의 분리
  • 부하 분산을 위한 MySQL Replication 구성 및 쿼리 요청 분기

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.