{"id":18512889,"url":"https://github.com/altiore/lorder.ui","last_synced_at":"2025-04-09T06:32:28.070Z","repository":{"id":42300020,"uuid":"234956963","full_name":"altiore/lorder.ui","owner":"altiore","description":"Трекер задач и времени","archived":false,"fork":false,"pushed_at":"2023-05-07T19:26:36.000Z","size":46050,"stargazers_count":44,"open_issues_count":13,"forks_count":16,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T00:07:44.210Z","etag":null,"topics":["lorder","react","reactjs"],"latest_commit_sha":null,"homepage":"https://lorder.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/altiore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"lifeorder"}},"created_at":"2020-01-19T19:56:48.000Z","updated_at":"2023-07-20T13:01:54.000Z","dependencies_parsed_at":"2024-11-06T15:53:16.547Z","dependency_job_id":null,"html_url":"https://github.com/altiore/lorder.ui","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/altiore%2Florder.ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/altiore%2Florder.ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/altiore%2Florder.ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/altiore%2Florder.ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/altiore","download_url":"https://codeload.github.com/altiore/lorder.ui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247992608,"owners_count":21029926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lorder","react","reactjs"],"created_at":"2024-11-06T15:35:49.309Z","updated_at":"2025-04-09T06:32:23.016Z","avatar_url":"https://github.com/altiore.png","language":"TypeScript","funding_links":["https://patreon.com/lifeorder"],"categories":[],"sub_categories":[],"readme":"# Lorder UI [Storybook](https://altiore.github.io/lorder.ui)\n\n## Трекер задач и времени\n\n![Auto-тесты](https://github.com//altiore/lorder.ui/workflows/CI/badge.svg) ![Staging Deployment](https://github.com//altiore/lorder.ui/workflows/Staging%20Deployment/badge.svg)\n\n## Презентация проекта на YouTube:\n[![Watch the video](https://i9.ytimg.com/vi/8sQIlv48ioc/mqdefault.jpg?v=5f5641e7\u0026sqp=CKDxlooG\u0026rs=AOn4CLD0rSj0dIQ_u6TepSQXBSW3AmCnFA)](https://www.youtube.com/watch?v=8sQIlv48ioc)\n\n### Установка\n\n##### 0. Склонируй текущий репозиторий\n\n##### 1. Для локальной работы необходимо установить [пакетный менеджер npm](https://www.npmjs.com/get-npm) и [node.js server](https://nodejs.org/en/) (обычно устанавливаются вместе)\n\n\n##### 2. Скопируй файл .env.example -\u003e .env\n\n```bash\n$ cp .env.example .env\n```\n\n##### 3. Установи локальные зависимости при помощи пакетного менеджера npm\n\n```bash\n$ npm i\n```\n\n##### 4. Запусти проект локально при помощи пакетного менеджера npm\n\n```bash\n$ npm start\n```\n\n##### 5. Приложение должно автоматически открыться в браузере и автоматически обновляться при любом изменении кода\n\n[Независимому члену команды](https://github.com/altiore/lorder.ui/wiki/Start)\n\n### Именование файлов и папок\n\n#### Общие принципы\n\n##### 1. Все нужное внутри\nВсе папки и файлы в них, структурированы по принципу \"все нужное внутри\". Это означает, что необходимый компонент / вспомогательная функция / файл хранилища расположены именно там, где он используется. Например, если компонент `HiHeader` используется ТОЛЬКО в файле `./src/#/#hi/hi.tsx`, то он ДОЛЖЕН находится в папке `./src/#/#hi/hi-header`, т.е. папка компонента должна находиться рядом с файлом, где этот компонент используется.\n\n##### 2. Модификаторы папок\n1. _@_ === _Общее_ - Если компонент, вспомогательнай функция или любой другой полезный файл используется в нескольких местах, то он должен быть вынесен в одну из папок, помеченных модификатором _@_. Или наоборот: если папка помечена модификатором _@_, значит ее содержимое используется минимум в 2 местах\n2. _#_ === _Маршрут сайта_ - Если компонент представляет собой страницу проекта (роут, маршрут), то папка с таким компонентом содержит модификатор _#_. (Например, файлы компонентов для роута `/public/f2c6742e-2394-4982-8979-5f01c5ab2a50` находятся в папке `./src/#/#p/#-uuid`).\n3. _#_ === _Общий вид для группы страниц_ - Иногда группа страниц может содержать общую часть вида (лейаут). Файл общего вида для группы страниц (роутов) содержится, в этом случае, в промежуточной папке c модификатором _#_, внутри которой находятся дочерние страницы (роуты). Например, для вошедшего пользователя для страниц `/` и `/projects/53/tasks` есть общий вид. Этот общий вид содержится в файле `./src/#/main.tsx`, а сами страницы (роуты) соотвественно в папках `./src/#/#` и `./src/#/#projects/#-uuid`. В свою очередь у страниц `/projects/53/tasks` и `/projects/53/members` есть общая часть вида, содержащаяся в файле `./src/#/#projects/projects.tsx`. И т.д. Таким образом, модификаторы папок позволяют легко понимать, какого рода файлы где находятся и, одновременно, оставляют структуру достаточно простой и понятной.\n\n##### 3. Структура папок\n\n1. _#_ - содержит все страницы сайта (роуты), подписанные на изменения глобальных данных проекта\n\n   1.1. _#/@store_ - содержит сущности данных, используемые в проекте глобально (в любом из файлов внутри _#_ папки) (для некоторых страниц могут встречаться локальные хранилища)\n\n   1.2. _#/@common_ - содержит компоненты подписанные на изменения глобальных данных проекта, которые используются на 2х и более разных страницах (роутах) в любом из файлов внутри _#_ папки\n\n2. _@components_ - содержит переиспользуемые компоненты, которые ничего не знают о данных проекта. Эти компоненты с минимальными изменениями можно использовать в других проектах и независимо разрабатывать [используя storybook](https://github.com/altiore/altiore.ui/wiki/Storybook)\n3. _@hooks_ - содержит переиспользуемые хуки и компоненты высшего порядка, которые ничего не знают о данных проекта\n4. _@styles_ - содержит общие стили. [смотри стилизацию темы для material-ui библиотеки](https://material-ui.com/customization/theming/)\n5. _@types_ - общие типы данных в проекте\n6. _@utils_ - полезные утилиты, используемые в проекте.\n\n#### [Участие в разработке](https://github.com/altiore/lorder.ui/wiki/Start)\n#### [Начать решать задачи проекта](https://github.com/altiore/lorder.ui/wiki/Start)\n#### [Приступить к работе](https://github.com/altiore/lorder.ui/wiki/NoRabota)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faltiore%2Florder.ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faltiore%2Florder.ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faltiore%2Florder.ui/lists"}