Giter VIP home page Giter VIP logo

investment-management-admin's Introduction

프로젝트 설명

원티드 프리온보딩 과제: 투자 관리 서비스의 관리자 기능 구현


데모

레이아웃 - Header: 현재 보고있는 메뉴 와 사용자명 보여줘야 함
- Sider: 현재 보고있는 메뉴 하이라이트
- Footer: Copyright © December and Company Inc. 가운데 정렬
계좌목록 - 브로커명, 계좌 활성화 여부, 계좌 상태 필터링
- 검색, 페이지네이션
- 고객명 클릭시 사용자 상세화면으로 이동
- 계좌번호를 누르면 계좌상세 화면으로 이동
- 계좌번호 앞뒤 두글자 제외하고 나머지 `*` 마스킹 처리
사용자 목록 - 활성화 여부, 임직원 계좌 여부를 필터링
- 검색, 페이지네이션
- 고객명: 가운데 글자 마스킹, 두글자일 경우 성을 제외한 이름 마스킹 처리, 4글자 이상일 경우 마스킹 처리 후 앞뒤 한글자만 표기, 고객명을 클릭시 사용자 상세화면으로 이동
- 휴대폰 번호 (가운데 4자리 `***` 로 마스킹)
로그인 & 로그아웃
토큰 만료

실행방법

1. repository clone

$ git clone https://github.com/seonsy44/investment-management-admin.git

2. server 실행

# server 폴더로 이동
$ cd server

# 의존성 설치
$ npm install

# 서버 실행
$ npm start

# 상위 폴더로 이동
$ cd ..

3. front 실행

# client 폴더로 이동
$ cd client

# env 파일 작성
$ cat > .env.local
NEXT_PUBLIC_SERVER_URL='http://localhost:4000'
NEXT_PUBLIC_CLIENT_URL='http://localhost:3000'
ctrl + z

# 의존성 설치
$ npm install

# 프로젝트 실행
$ npm run dev

4. test용 아이디

id: [email protected]
password: 1234qwer

기술스택

  • TypeScript
  • NextJS
  • Styled-Components
  • Axios
  • Redux-toolkit
  • React-Query

폴더구조

📦src
 ┣ 📂components
 ┃ ┣ 📂AccountDetail
 ┃ ┃ ┣ 📜Columns.tsx
 ┃ ┃ ┣ 📜Table.tsx
 ┃ ┃ ┗ 📜index.tsx
 ┃ ┣ 📂Accounts
 ┃ ┃ ┣ 📜Filters.tsx
 ┃ ┃ ┣ 📜Pagenation.tsx
 ┃ ┃ ┣ 📜Table.tsx
 ┃ ┃ ┣ 📜TableBodyRow.tsx
 ┃ ┃ ┣ 📜TableHeadRow.tsx
 ┃ ┃ ┗ 📜index.tsx
 ┃ ┣ 📂Layout
 ┃ ┃ ┣ 📜Footer.tsx
 ┃ ┃ ┣ 📜Header.tsx
 ┃ ┃ ┣ 📜Seo.tsx
 ┃ ┃ ┣ 📜Sider.tsx
 ┃ ┃ ┣ 📜SiderItem.tsx
 ┃ ┃ ┗ 📜index.tsx
 ┃ ┣ 📂UI
 ┃ ┃ ┣ 📜BodyColumn.tsx
 ┃ ┃ ┣ 📜HeadColumn.tsx
 ┃ ┃ ┣ 📜SearchBar.tsx
 ┃ ┃ ┗ 📜SelectBox.tsx
 ┃ ┣ 📂UserDetail
 ┃ ┃ ┣ 📜Columns.tsx
 ┃ ┃ ┣ 📜DeleteModal.tsx
 ┃ ┃ ┣ 📜UserInfoTable.tsx
 ┃ ┃ ┗ 📜index.tsx
 ┃ ┣ 📂Users
 ┃ ┃ ┣ 📜Filters.tsx
 ┃ ┃ ┣ 📜Table.tsx
 ┃ ┃ ┣ 📜TableBodyRow.tsx
 ┃ ┃ ┣ 📜TableHeadRow.tsx
 ┃ ┃ ┗ 📜index.tsx
 ┃ ┗ 📂signin
 ┃ ┃ ┣ 📜AlertModal.tsx
 ┃ ┃ ┣ 📜Button.tsx
 ┃ ┃ ┣ 📜FormTitle.tsx
 ┃ ┃ ┣ 📜Input.tsx
 ┃ ┃ ┗ 📜index.tsx
 ┣ 📂hooks
 ┃ ┣ 📜useAccountNameEdit.ts
 ┃ ┣ 📜useAccountQueryDispatch.ts
 ┃ ┣ 📜useAccountQueryState.ts
 ┃ ┣ 📜useAccountURL.ts
 ┃ ┣ 📜useAccounts.ts
 ┃ ┣ 📜useDeleteModal.ts
 ┃ ┣ 📜useEdit.ts
 ┃ ┣ 📜useHeaderTitleDispatch.ts
 ┃ ┣ 📜useParseAccountData.ts
 ┃ ┣ 📜useParseUserData.ts
 ┃ ┣ 📜useParseUserDetailData.ts
 ┃ ┣ 📜useSignin.ts
 ┃ ┣ 📜useSignout.ts
 ┃ ┣ 📜useUserNameEdit.ts
 ┃ ┣ 📜useUserQueryDispatch.ts
 ┃ ┣ 📜useUserQueryState.ts
 ┃ ┣ 📜useUserURL.ts
 ┃ ┗ 📜useUsers.ts
 ┣ 📂pages
 ┃ ┣ 📂accounts
 ┃ ┃ ┣ 📜[accountId].tsx
 ┃ ┃ ┗ 📜index.tsx
 ┃ ┣ 📂users
 ┃ ┃ ┣ 📜[userId].tsx
 ┃ ┃ ┗ 📜index.tsx
 ┃ ┣ 📜_app.tsx
 ┃ ┣ 📜_document.tsx
 ┃ ┣ 📜index.tsx
 ┃ ┗ 📜signin.tsx
 ┣ 📂repositories
 ┃ ┗ 📜CookieTokenRepository.ts
 ┣ 📂services
 ┃ ┣ 📜AccountService.ts
 ┃ ┣ 📜AuthService.ts
 ┃ ┗ 📜UserService.ts
 ┣ 📂store
 ┃ ┣ 📜accountQuerySlice.ts
 ┃ ┣ 📜alertModalSlice.ts
 ┃ ┣ 📜headerTitleSlice.ts
 ┃ ┣ 📜index.ts
 ┃ ┗ 📜userQuerySlice.ts
 ┣ 📂styles
 ┃ ┣ 📜GlobalStyles.ts
 ┃ ┣ 📜globals.css
 ┃ ┣ 📜mixins.ts
 ┃ ┗ 📜theme.ts
 ┣ 📂type
 ┃ ┣ 📜account.ts
 ┃ ┣ 📜auth.ts
 ┃ ┗ 📜user.ts
 ┣ 📂utils
 ┃ ┣ 📜const.ts
 ┃ ┣ 📜getAxios.ts
 ┃ ┣ 📜getSelectOptions.ts
 ┃ ┣ 📜maskingName.ts
 ┃ ┣ 📜maskingPhoneNum.ts
 ┃ ┣ 📜parseAccountNumber.ts
 ┃ ┣ 📜parseDate.ts
 ┃ ┗ 📜parseDateTime.ts
 ┗ 📜middleware.ts

investment-management-admin's People

Contributors

seonsy44 avatar

Watchers

 avatar

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.