Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.gitignore에 추가되기 전에 파일이 커밋된 것 같네요~

Binary file not shown.
111 changes: 92 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,100 @@
# ✔️ 미니 프로젝트_연차/당직 프로그램 만들기
# 'RE:POST'

## 필수 요구 사항
### Rest + Post : 휴식에 선택의 유연함을 더하다
<br>

- 로그인 / 회원가입 페이지
- 개인 정보 수정 페이지
- 사용자간 공유 게시 페이지 캘린더 사용
<img src="https://github.com/azure0929/mini-project/assets/128226527/0ef5cf18-d2d4-420e-8120-ae1c1596d6b3" />

## 선택 요구 사항
#### 연차 당직 관리 시스템을 보다 편리하게 관리하기 위해 해당 서비스를 구현하게 되었습니다.
#### 일반 연차 / 당직 관리 시스템의 차별화된 기능으로는 연차 및 당직 사유를 작성할 수 있고, 관리자가 신청 및 거절을 할 수 있어 보다 체계적인 관리가 가능하고, 특정 사원의 직급 수정 및 잔여 연차를 수정 할 수 있는 서비스를 제공하고자 하였습니다.
<br>

- `useCallback`, `useMemo `등을 통한 컴포넌트 렌더링 최적화
- 내가 작성한 코드를 팀원 중 누가봐도 쉽게 알아볼 수 있도록 고민하면서 작성해주세요.
#### • 사용자 배포 주소: [I5E1-Client](https://i5e1-fe-user-repost.netlify.app/)
#### • 관리자 배포 주소: [I5E1-Admin](https://i5e1-fe-admin-repost.vercel.app/)
- 관리자 이메일 : qwer@naver.com
- 관리자 비밀번호 : 1234
<br><br>

## 과제 수행 및 제출 방법
#### • FE-사용자 깃허브 주소 [Client](https://github.com/I5E1/I5E1-FE)
#### • FE-관리자 깃허브 주소 [Admin](https://github.com/I5E1/I5E1-FE-ADMIN)
<br>

1. 현재 저장소를 로컬에 클론(Clone)합니다.
2. 팀별로 브랜치를 생성합니다.(`git branch KDT5_TEAM_ABC`)
3. 팀별 브랜치에서 과제를 수행합니다.
4. 과제 수행이 완료되면, 자신의 본명 브랜치를 원격 저장소에 푸시(Push)합니다.(`main` 브랜치에 푸시하지 않도록 꼭 주의하세요, `git push origin KDT5_TEAM_ABC`)
5. 저장소에서 `main` 브랜치를 대상으로 Pull Request 생성하면, 과제 제출이 완료됩니다!(E.g, `main` <== `KDT5_TEAM_ABC`)
#### • BE-사용자 깃허브 주소 [Client](https://github.com/I5E1/I5E1-Server)
#### • BE-관리자 깃허브 주소 [Admin](https://github.com/I5E1/I5E1-Admin-Server)
<br><br><br>

### 주의사항!
---
<br>

- `main` 혹은 다른 사람의 브랜치로 절대 병합하지 않도록 주의하세요!
- Pull Request에서 보이는 설명을 다른 사람들이 이해하기 쉽도록 꼼꼼하게 작성하세요!
- Pull Request에서 과제 제출 후 절대 병합(Merge)하지 않도록 주의하세요!
- 과제 수행 및 제출 과정에서 문제가 발생한 경우, 바로 담당 멘토나 강사에서 얘기하세요!
### 🗓 프로젝트 기간: 2023.07.24 ~ 2023.08.11

<br>

### 🧔 개발팀
| **[양준용](https://github.com/7581058)** | **[김진우](https://github.com/dev-junehee)** | **[김세연](https://github.com/doitidey)** |
| :---: | :---: | :---: |
| <img src="https://avatars.githubusercontent.com/u/128226527?v=4" width=200px alt="양준용" /> | <img src="https://avatars.githubusercontent.com/u/105920346?v=4" width=200px alt="김진우" /> | <img src="https://avatars.githubusercontent.com/u/118176015?v=4" width=200px alt="김세연" /> |
| <br> 로그인 <br/> 회원가입 <br/> 관리자 페이지 <br /> -연차/당직관리 부분 승인 및 <br> 거절 처리 상태 적용 <br> -사원관리 부분 수정 기능 적용, <br> 검색 결과에 따른 페이지 적용 <br><br> | 메인 페이지<br/> 마이 페이지<br/> | 관리자 페이지 <br/> -연차/당직관리<br/> -사원관리<br/> -로그아웃 |
<br>

### 기술 스택
Development
<p>
<img src="https://img.shields.io/badge/Next.js-000000?style=flat&logo=next.js&logoColor=white" />
<img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat&logo=TypeScript&logoColor=white" />
<img src="https://img.shields.io/badge/Tailwind css-06B6D4?style=flat&logo=tailwind css&logoColor=white" />
<img src="https://img.shields.io/badge/Styled-components-DB7093?style=flat&logo=styled-components&logoColor=white">
<img src="https://img.shields.io/badge/Zustand-F05032?style=flat&logo=Zustand&logoColor=white">
</p>

Config
<p>
<img src="https://img.shields.io/badge/npm-CB3837?style=flat&logo=npm&logoColor=white"/></a>
</p>

Environment
<p>
<img src="https://img.shields.io/badge/Visual Studio Code-007ACC?style=flat&logo=Visual Studio Code&logoColor=white"/></a>
<img src="https://img.shields.io/badge/Git-F05032?style=flat&logo=Git&logoColor=white"/></a>
<img src="https://img.shields.io/badge/GitHub-181717?style=flat&logo=GitHub&logoColor=white"/></a>
</p>

Cowork Tools
<p>
<img src="https://img.shields.io/badge/Zoom-2D8CFF?style=flat&logo=Zoom&logoColor=white" />
<img src="https://img.shields.io/badge/discord-5865F2?style=flat&logo=discord&logoColor=white" />
</p>
<br>

<br>

## 💻 프로젝트 테스트
<br>

### Clone Project
```
$ git clone git@github.com:I5E1/I5E1-FE.git
$ git clone git@github.com:I5E1/I5E1-FE-ADMIN.git
```
<br>

### Go to Project
```
$ cd I5E1-FE
# cd I5E1-FE-ADMIN
```
<br>

### Install
```
$ npm i
```
<br>

### Start Project
```
$ npm run dev
```
<br><br>

### 🙏 감사합니다 </br>
4 changes: 4 additions & 0 deletions admin/.babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"presets": ["next/babel"],
"plugins": [["styled-components", { "ssr": true }]]
}
26 changes: 26 additions & 0 deletions admin/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"plugins": ["prettier"],
"extends": "next/core-web-vitals",
"import/no-unresolved": "off",
// plugins외 추가 규칙을 설정합니다.
"rules": {
"no-console": "warn", // console 사용시 warning이 나타납니다. 배포할 떄 지워줘야하니까 warn합니다. +> transform-remove-console로 대체합니다.
"linebreak-style": "off", // 맥, 윈도우로 개발하기때문에 개행문자가 Carrage return/Line feed인지 Line Feed인지 관여하지 않습니다.
"semi": ["error", "never"], // semicolon을 제거합니다.
"spaced-comment": "off", // 주석 스타일 강제 취소, html, css에서 주석을 달 수 있습니다.
"no-param-reassign": "off", // 재할당 가능합니다. DOM을 다루다보면 재할당 할 일이 생긴다고 판단했습니다.
"prefer-arrow-callback": "off", // this를 다루게 될 일이 있을 수도 있으니까 off하였습니다.
"no-await-in-loop": "warn", // for문 안에서 await을 사용할 수 있습니다.
"quote-props": ["error", "as-needed"], // object의 key가 문자열이 아닌 경우에만 따옴표를 사용합니다.
// "indent": ["error", "tab"], // indent는 tab을 사용하고, tab은 2칸으로 prettier로 고정합니다.
"comma-dangle": ["error", "never"], // 객체의 마지막 속성에 콤마를 사용하지 않습니다.
"react/self-closing-comp": [
// 비어있는 컴포넌트는 self-closing을 강제합니다.
"error",
{
"component": true,
"html": true
}
]
}
}
34 changes: 34 additions & 0 deletions admin/.github/ISSUE_TEMPLATE/feature-request--새-기능-.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Feature request (새 기능)
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

<details>

<summary>Feature request rules</summary>

- 기본적으로 이슈를 작성하는 사람이 Assignee입니다.

- Labels로 진행 상황 표기합니다. (to do, in progress, done 셋 중 하나는 반드시 필요)

- Assignees를 배정합니다.

- Branch는 `Feature/<이슈번호>-<기능>`으로 작성합니다.

- 해당 Project를 선택합니다.

</details>

# 기능

# 적용되는 페이지

# 추가 설명

# 예상 시작일

# 예상 완료일
39 changes: 39 additions & 0 deletions admin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

.env

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

.vercel
1 change: 1 addition & 0 deletions admin/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

파일의 끝은 개행으로 마무리하는 Posix 명세를 따라주시는 게 좋을 것 같습니다.

11 changes: 11 additions & 0 deletions admin/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"tabWidth": 2,
"semi": false,
"singleQuote": true,
"quoteProps": "as-needed",
"trailingComma": "none",
"bracketSpacing": true,
"arrowParens": "always",
"endOfLine": "lf",
"printWidth": 80
}
11 changes: 11 additions & 0 deletions admin/.vscode/setting.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"eslint.validate": [
"javascript",
"typescript",
"typescriptreact",
"javascriptreact"
],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
Empty file added admin/README.md
Empty file.
12 changes: 12 additions & 0 deletions admin/craco.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import CracoAlias from 'craco-alias'

export const plugins = [
{
plugin: CracoAlias,
options: {
source: 'tsconfig',
baseUrl: './',
tsConfigPath: 'tsconfig.path'
}
}
]
17 changes: 17 additions & 0 deletions admin/next.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
compiler: {
styledComponents: true
},
async rewrites() {
return [
{
source: '/:path*',
destination: 'http://3.34.59.206:8081/:path*'
}
]
}
}

module.exports = nextConfig
Loading