Skip to content

SeolYoungKim/siders

Repository files navigation

Siders

조금 더 구체적인 사이드 프로젝트 관련 웹 앱

프로젝트 정리 | 노션

팀 구성

기술 스택 (사용중 및 사용 예정)

사용 중

SpringBoot SpringSecurity OAuth JPA QDSL JWT MariaDB

AWS_EC2 AWS_S3 AWS_CodeDeploy GitHubActions

사용 예정

Redis DOCKER

개발 이유

게시판을 구현하고 배포한 후, RESTful에 대한 경험이 해보고 싶어졌습니다. 서버사이드 렌더링이 아닌, REST API 통신을 통한 웹 앱은 어떻게 설계되고 구현되는지가 궁금했습니다. 혼자서도 해볼 수 있었겠지만, 협업을 통해 무언가를 만들어보고 싶다는 생각이 있었고, 이를 바로 실행에 옮겨 UI/UX 디자이너 한 분과 프론트엔드 개발자 한 분을 모시고 사이드 프로젝트 팀을 하나 결성하게 되었습니다.

개발자에게 사이드 프로젝트란, 성장을 위해서는 없어서는 안되는 존재라고 생각합니다. 하지만, 여러 사이트들이나 카페들이 사이드 프로젝트 구인 혹은 참여가 너무 불편하게 구성되어 있다고 생각했습니다.

그래서 이를 팀원분들과 함께 해결해보고자 "조금 더 구체적인 사이드 프로젝트 관련 웹 앱"인 "Siders"를 만들게 되었습니다.

간단한 소개

마주한 문제

  • 사이드 프로젝트 구인 사이트에 참여 조건이 적혀있으나, 너무 추상적이다.
  • 내가 신청해도 되는 것일까? 라는 의문이 들어 사이드 프로젝트 참여 신청을 넣기가 꺼려진다.
  • 프로젝트 운영 정보가 부족한 곳도 많다.

해결 방안

  • 참여 조건에 대한 정보를 좀 더 구체적으로 제공해보자.
  • 내 수준에 대한 객관적인 지표가 필요하다고 판단 -> 각 분야에 대한 이해도나, 숙련도 등을 수치화 (Low, Mid, High)
  • 프로젝트 운영 최소 정보를 기입하도록 유도 -> 기본 작성 틀을 부담스럽지 않게 마련

프로젝트 구조

# Directory tree
.
├── SidersWebappApplication.java
├── auth
│   ├── SecurityConfig.java
│   ├── UriList.java
│   ├── jwt
│   │   ├── JwtExceptionFilter.java
│   │   ├── JwtFilter.java
│   │   └── JwtProvider.java
│   └── oauth
│       ├── handler
│       │   └── OAuth2LoginSuccessHandler.java
│       └── service
│           ├── AttributeKeys.java
│           ├── CommonAttributes.java
│           ├── CommonAttributesFactory.java
│           ├── CustomUserDetailService.java
│           ├── OAuth2Attributes.java
│           ├── OAuth2AttributesFactory.java
│           ├── OAuthAttributesOld.java
│           └── ProviderInfo.java
├── config
│   ├── JpaConfig.java
│   └── QuerydslConfig.java
├── domain
│   ├── Ability.java
│   ├── BaseTimeEntity.java
│   ├── RecruitType.java
│   ├── fields
│   │   └── Fields.java
│   ├── member
│   │   ├── Member.java
│   │   └── RoleType.java
│   ├── post
│   │   └── Post.java
│   └── tech_stack
│       └── TechStack.java
├── exception
│   ├── ErrorUtils.java
│   ├── IsNotOwnerException.java
│   ├── IsNotSupportedOAuth2Login.java
│   ├── JwtNotAvailable.java
│   ├── MemberNotFoundException.java
│   ├── PostNotFoundException.java
│   └── SidersException.java
├── repository
│   ├── fields
│   │   └── FieldsRepository.java
│   ├── member
│   │   └── MemberRepository.java
│   ├── post
│   │   ├── PostRepository.java
│   │   ├── PostRepositoryCustom.java
│   │   └── PostRepositoryImpl.java
│   └── tech_stack
│       └── TechStackRepository.java
├── service
│   ├── member
│   │   └── MemberService.java
│   └── post
│       └── PostService.java
└── web
    ├── controller
    │   ├── ExceptionController.java
    │   ├── MemberController.java
    │   └── PostController.java
    ├── request
    │   ├── FieldErrorMessage.java
    │   ├── member
    │   │   └── SignUpDto.java
    │   └── post
    │       ├── completion
    │       ├── create
    │       ├── search
    │       └── update
    └── response
        ├── exception
        │   ├── ErrorResult.java
        │   ├── FieldErrorResult.java
        │   └── FieldsErrorInfo.java
        ├── member
        │   ├── AuthMemberResponse.java
        │   ├── DuplicateNameCheckDto.java
        │   ├── MemberPostResponse.java
        │   └── SignUpMemberResponse.java
        └── post
            ├── FieldsResponse.java
            ├── PostResponse.java
            ├── TechStackResponse.java
            ├── create
            └── read

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published