프론트엔드
Casdoor의 프론트엔드 소스 코드는 /web 폴더 안에 위치해 있습니다: https://github.com/casdoor/casdoor/tree/master/web
이것은 Create-React-App (CRA) 프로젝트로, 아래에 설명된 대로 클래식 CRA 폴더 구조를 따릅니다:
| 파일/디렉토리 | 설명 |
|---|---|
| public | React를 위한 루트 HTML 파일 |
| src | 소스 코드 |
| craco.config.js | Craco 설정 파일. 여기에서 테마 색상(기본적으로 파란색)을 변경할 수 있습니다 |
| crowdin.yml | Crowdin i18n 설정 파일 |
| package.json | NPM/Yarn 의존성 파일 |
| yarn.lock | Yarn lock file |
/src 디렉토리 내부에는 여러 중요한 파일과 폴더가 있습니다:
| 파일/디렉토리 | 설명 |
|---|---|
| account | 로그인한 사용자를 위한 "내 프로필" 페이지 |
| auth | OAuth, SAML, 가입 페이지, 로그인 페이지, 비밀번호 찾기 페이지 등 인증과 관련된 모든 코드. |
| backend | Go 백엔드 API를 호출하기 위한 SDK. 모든 fetch() 호출이 포함되어 있습니다 |
| basic | Casdoor의 홈페이지(대시보드 페이지)로, 여러 카드 위젯이 포함되어 있습니다 |
| common | 공유 UI 위젯 |
| locales | JSON 형식의 i18n 번역 파일, 우리의 Crowdin 프로젝트와 동기화: https://crowdin.com/project/casdoor-site |
| App.js | 모든 라우트를 포함한 엔트리 JS 파일 |
| Setting.js | 다른 코드에서 사용되는 유틸리티 함수 |
| OrganizationListPage.js | 조직 목록 페이지로, 다른 모든 XXXListPage.js 파일과 유사합니다 |
| OrganizationEditPage.js | 하나의 조직을 편집하는 페이지로, 다른 모든 XXXEditPage.js 파일과 유사합니다 |