Skip to content

Commit c427d93

Browse files
authored
docs(TS-15): 리드미 추가 (#94)
* docs: 리드미 추가 * remove: 불필요한 파일 삭제
1 parent 35615d2 commit c427d93

File tree

4 files changed

+184
-27
lines changed

4 files changed

+184
-27
lines changed

README.md

Lines changed: 184 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,193 @@
1-
# React + TypeScript + Vite
1+
# Tutorial-Sejong
22

3-
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3+
<div align="center">
4+
<img width="50%" src="https://github.com/user-attachments/assets/b724bb30-bb52-4a03-8f5c-31d546cabfb8">
5+
<br>
6+
Tutorial-Sejong은 실제와 유사한 환경에서 수강 신청 연습할 수 있다면 많은 도움이 될 것 같아 만들게 된 서비스 입니다.
7+
<br>
8+
수강신청이 처음이거나 오랜만 또는 연습이 필요한 세종대 학우들을 위해 최대한 세종대학교 학사시스템 UI와 비슷하게 제작했습니다.
9+
</div>
410

5-
Currently, two official plugins are available:
11+
## 목차
612

7-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
13+
<b> 1. [개요](#개요)</b>
14+
<br>
15+
<b> 2. [주요 기능](#주요-기능)</b>
16+
<br>
17+
<b> 3. [팀 소개](#팀-소개)</b>
18+
<br>
19+
<b> 4. [기술스택](#기술스택)</b>
20+
<br>
21+
<b> 5. [화면](#화면)</b>
22+
<br>
23+
<b> 6. [디렉토리 구조](#디렉토리-구조)</b>
924

10-
## Expanding the ESLint configuration
25+
## 개요
1126

12-
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
27+
<b>개발 기간:</b> 2024.07~204.09
28+
<br>
29+
<b>배포 주소:</b> https://tutorial-sejong.com/
30+
<br>
31+
<b>프론트 깃허브 주소:</b> https://github.com/tutorial-sejong/cr-frontend
32+
<br>
33+
<b>백엔드 깃허브 주소:</b> https://github.com/tutorial-sejong/cr-backend
1334

14-
- Configure the top-level `parserOptions` property like this:
35+
## 팀 소개
36+
37+
<table>
38+
<thead>
39+
<tr>
40+
<th colspan="3">Tutorial-Sejong</th>
41+
</tr>
42+
</thead>
43+
<tbody>
44+
<tr>
45+
<td>안정현</br> <a href="https://github.com/Anhye0n">깃허브</a><br/> </td>
46+
<td>오지현</br> <a href="https://github.com/zhy2on">깃허브</a><br/> </td>
47+
<td>문지원</br> <a href="https://github.com/jeewonMoon">깃허브</a><br/> </td>
48+
</tr>
49+
</tbody>
50+
</table>
51+
52+
## 주요 기능
53+
54+
### 💡2024년 2학기 시간표 검색
55+
56+
- 해당 학기에 맞는 시간표로 업데이트 됩니다.
57+
58+
### 💡관심 과목 담기
59+
60+
### 💡수강신청
61+
62+
- 신청 시 10% 확률로 수강 여석이 없을 수 있습니다.
63+
- 시작 후 35초가 지나면 모든 과목의 수강 여석이 마감됩니다.
64+
65+
## 기술스택
66+
67+
### 프론트엔드
68+
69+
<img src="https://img.shields.io/badge/vite-646CFF?style=for-the-badge&logo=vite&logoColor=white"> <img src="https://img.shields.io/badge/react-61DAFB?style=for-the-badge&logo=react&logoColor=black"> <img src="https://img.shields.io/badge/typescript-3178C6?style=for-the-badge&logo=typescript&logoColor=white"> <img src="https://img.shields.io/badge/styledcomponents-DB7093?style=for-the-badge&logo=styledcomponents&logoColor=white">
70+
<img src="https://img.shields.io/badge/reduxtoolkit-764ABC?style=for-the-badge&logo=redux&logoColor=white"> <img src="https://img.shields.io/badge/githubactions-2088FF?style=for-the-badge&logo=githubactions&logoColor=white">
71+
72+
### 백엔드
73+
74+
<img src="https://img.shields.io/badge/java-007396?style=for-the-badge&logo=java&logoColor=white">
75+
<img src="https://img.shields.io/badge/spring boot-6DB33F?style=for-the-badge&logo=spring boot&logoColor=white">
76+
<img src="https://img.shields.io/badge/spring security-6DB33F?style=for-the-badge&logo=Spring Security&logoColor=white"> <img src="https://img.shields.io/badge/MariaDB-003545?style=for-the-badge&logo=mariadb&logoColor=white" />
77+
78+
### 협업 툴
79+
80+
<img src="https://img.shields.io/badge/github-181717?style=for-the-badge&logo=github&logoColor=white"> <img src="https://img.shields.io/badge/notion-000000?style=for-the-badge&logo=Notion&logoColor=white"> <img src="https://img.shields.io/badge/jira-0052CC?style=for-the-badge&logo=jira&logoColor=white">
81+
82+
## 화면
83+
84+
<details>
85+
<summary>화면 접기/펼치기</summary>
86+
<div markdown="1">
87+
88+
### 로그인
89+
90+
<img src="https://github.com/user-attachments/assets/baba38ff-0306-441f-83bd-0bf1e4810b0d">
91+
- 회원가입 없이 임의 학번으로 로그인
92+
<br>
93+
- 동일한 학번과 비밀번호로 접속 시 관심과목 등 데이터 유지
94+
95+
### 시간표 검색
96+
97+
<img src="https://github.com/user-attachments/assets/20b5eee1-a3a1-436b-8e21-6ef737530e5a">
98+
99+
### 관심과목 담기
100+
101+
<img src="https://github.com/user-attachments/assets/9725af7c-c3a2-4489-9ad5-b50efc428e23">
102+
103+
### 수강신청
104+
105+
<img src="https://github.com/user-attachments/assets/da3a3709-5bd7-48a4-ab59-4bdcb406d048">
106+
- 헤더의 시간에 맞춰 시작
107+
<br>
108+
- 시작 버튼을 눌러야 검색 가능
109+
<img src="https://github.com/user-attachments/assets/ff47df6e-ec37-4923-b854-c7f5bacbd341">
110+
- 랜덤으로 매크로 방지 이미지 생성
111+
<img src="https://github.com/user-attachments/assets/285808f2-102b-491a-8aea-75cfe88171c7">
112+
- 시작 버튼을 누르고 35초가 지났거나 10%의 확률로 실패
113+
<img src="https://github.com/user-attachments/assets/a36c196a-acc1-47b5-8d8a-7e75d38e60c5">
114+
- 확인 버튼 누를 시 수강 신청 실패로 간주, 새로고침
115+
</div>
116+
</details>
117+
<br>
118+
119+
## 디렉토리 구조
15120

16-
```js
17-
export default {
18-
// other rules...
19-
parserOptions: {
20-
ecmaVersion: 'latest',
21-
sourceType: 'module',
22-
project: ['./tsconfig.json', './tsconfig.node.json'],
23-
tsconfigRootDir: __dirname,
24-
},
25-
}
26121
```
122+
cs-frontend
123+
├─ .eslintrc.cjs : lint 규칙
124+
├─ .prettierrc : prettier 설정
125+
├─ index.html
126+
├─ package-lock.json
127+
├─ package.json
128+
├─ README.md
129+
├─ src
130+
│ ├─ apis
131+
│ │ ├─ api : api 요청/응답 코드 폴더
132+
│ │ │ ├─ auth.ts : 로그인 및 인증 관련 코드
133+
│ │ │ └─ course.ts : 강의 및 수강신청 관련 코드
134+
│ │ └─ utils : 인스턴스 / 공통 함수 폴더
135+
│ ├─ App.tsx
136+
│ ├─ assets
137+
│ │ ├─ data
138+
│ │ │ └─ filter.ts : 필터 옵션 데이터
139+
│ │ ├─ img : 아이콘이나 로고 등 필요한 이미지 폴더
140+
│ │ └─ types : 자주 쓰이는 타입 분리 폴더
141+
│ ├─ components
142+
│ │ ├─ common : 여러 곳에서 쓰이는 컴포넌트 폴더
143+
│ │ │ ├─ FilterButton.tsx : 검색, 조회 등 필터 적용 버튼
144+
│ │ │ ├─ FilterInput.tsx
145+
│ │ │ ├─ Modal
146+
│ │ │ │ ├─ handlers
147+
│ │ │ │ │ └─ handler.tsx
148+
│ │ │ │ ├─ AntiMacroCodeModal.tsx : 매크로 모달
149+
│ │ │ │ ├─ EnrollmentInfoModal.tsx : 수강인원 등 강의 정보 모달
150+
│ │ │ │ ├─ ErrorModal.tsx
151+
│ │ │ │ ├─ InfoModal.tsx : 수강신청 모달
152+
│ │ │ │ ├─ LoadingModal.tsx
153+
│ │ │ │ └─ WaitingModal.tsx : 접속 대기 모달
154+
│ │ │ ├─ SelectBox.tsx : 필터 드롭다운
155+
│ │ │ └─ Table : 강의 목록 테이블
156+
│ │ ├─ CourseRegister : 수강신청 탭
157+
│ │ ├─ DeleteAccount
158+
│ │ ├─ Header
159+
│ │ │ ├─ ...
160+
│ │ │ └─ TopNav.tsx : 타이틀
161+
│ │ ├─ LectureList : 시간표 검색 탭
162+
│ │ ├─ LoginForm
163+
│ │ ├─ Menubar : 사이드바
164+
│ │ ├─ ProtectedRoute.tsx : 사용자 인증 여부에 따른 접근 제한
165+
│ │ ├─ TabMenu
166+
│ │ └─ Wishlist : 관심과목 탭
167+
│ ├─ custom.d.ts : svg 관련 설정 파일
168+
│ ├─ main.tsx
169+
│ ├─ pages
170+
│ │ ├─ DeleteAccount.tsx
171+
│ │ ├─ index
172+
│ │ │ ├─ Home.tsx
173+
│ │ │ ├─ Login.tsx
174+
│ │ │ └─ NotFound.tsx : 에러 페이지
175+
│ │ └─ Maintenance.tsx : 리뉴얼 중 페이지
176+
│ ├─ store : 리덕스 툴킷 관련 폴더
177+
│ │ ├─ hooks
178+
│ │ │ └─ index.ts
179+
│ │ ├─ modules
180+
│ │ │ ├─ ...
181+
│ │ │ └─ errorSlice.ts : 에러 모달에 띄울 정보 저장
182+
│ │ └─ store.ts
183+
│ ├─ styles : 공통 스타일
184+
│ ├─ utils
185+
│ │ ├─ randomUtils.ts : 랜덤 학번 및 숫자 생성
186+
│ │ └─ scrollToTop.ts : 페이지 이동 시 스크롤 초기화
187+
│ └─ vite-env.d.ts
188+
├─ tsconfig.app.json
189+
├─ tsconfig.json
190+
├─ tsconfig.node.json
191+
└─ vite.config.ts
27192
28-
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
29-
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
30-
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
193+
```

src/assets/css/default.css

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/assets/css/menubar/Menubar.module.css

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/assets/fonts/fonts.css

Whitespace-only changes.

0 commit comments

Comments
 (0)