Фронтенд
Вихідний код фронтенду Casdoor розташований у папці /web: https://github.com/casdoor/casdoor/tree/master/web
Це проєкт Create-React-App (CRA), який слідує класичній структурі папок CRA, як описано нижче:
| Файл/Директорія | Опис |
|---|---|
| public | Кореневий HTML-файл для React |
| src | Вихідний код |
| craco.config.js | Файл конфігурації Craco. Тут ви можете змінити колір теми (за замовчуванням синій) |
| crowdin.yml | Файл конфігурації Crowdin i18n |
| package.json | Файл залежностей NPM/Yarn |
| yarn.lock | Yarn lock file |
У директорії /src ви знайдете кілька важливих файлів та папок:
| Файл/Директорія | Опис |
|---|---|
| account | Сторінка "Мій профіль" для зареєстрованих користувачів |
| auth | Весь код, пов'язаний з аутентифікацією, такий як OAuth, SAML, сторінка реєстрації, сторінка входу, сторінка відновлення пароля тощо. |
| backend | SDK для виклику Go backend API. Він містить усі виклики fetch() |
| basic | Домашня сторінка (сторінка панелі керування) Casdoor, яка містить кілька віджетів карток |
| common | Спільні UI віджети |
| locales | файли перекладу i18n у форматі JSON, синхронізовані з нашим проєктом Crowdin: https://crowdin.com/project/casdoor-site |
| App.js | Вхідний JS-файл, що містить усі маршрути |
| Setting.js | Утилітні функції, які використовуються іншим кодом |
| OrganizationListPage.js | Сторінка списку організацій, схожа на всі інші файли XXXListPage.js |
| OrganizationEditPage.js | Сторінка для редагування однієї організації, схожа на всі інші файли XXXEditPage.js |