Архитектура репозитория:
- Full-stack JavaScript: мы используем Node.js для серверов и React для поддержки наших веб-приложений. Почти весь код в этом репозитории написан на JavaScript.
Список всех больших технологий:
- MongoDB: Data Storage
- mongoose: Модели для MongoDB
- PassportJS: аутентификация
- React: Frontend приложение
- Create React App: Frontend приложение
- React-Native: Мобильные приложения
- Expo: Набор библиотек для React-Native
fillstuff/
├── api # API сервер
├── mobile # Мобильное приложения (сборка с Expo)
├── public # Открытые файлы, используемые во внешнем интерфейсе
├── shared # Общий JavaScript код
└── src # Frontend SPA
Мы запускаем Prettier on-commit, это означает, что вы можете писать код в любом стиле и он будет автоматически отформатирован в соответствии с общим стилем при запуске git commit.
- Мы используем модуль отладки
debug
для регистрации отладочной информации вdevelopment
среде. В production мы используемwinston
для регистрации логов.
Для начала клонируйте репозиторий:
git clone git@github.com:artemkrynkin/fillstuff.git
Если вы получили сообщение Permission denied
используя ssh
прочитайте это
или используйте https
ссылку в качестве запасного варианта.
git clone https://github.com/artemkrynkin/fillstuff.git
Fillstuff имеет 3 больших этапа установки:
- Установка MongoDB: см. Документацию MongoDB для получения инструкций по установке его с вашей ОС.
- Установка yarn: мы используем yarn для установки зависимостей JavaScript. Инструкции по установке смотрите в документации yarn.
- Установка зависимостей: чтобы не устанавливать зависимости для каждого сервиса в отдельности, есть сценарий, который проходит и выполняет
yarn install
для каждого сервиса вместо вас: (установка может занять некоторое время)
node shared/install-dependencies.js
Вы закончили установку! 💥
Каждый раз когда вы хотите запустить Fillstuff локально, вы должны запустить MongoDB работающую в фоновом режиме.
mongod
В зависимости от того, над чем вы хотите работать, вам нужно запустить разные серверы. Все серверы работают в режиме разработки yarn run dev:<workername>
, например, yarn run dev:web
для запуска Frontend SPA.
Независимо от того, что вы пытаетесь сделать, вам нужно будет запустить API, поэтому начните с фоновой вкладки:
yarn run dev:api
yarn run dev:web
Для разработки мобильного приложения необходимо чтобы API сервер работал в фоновом режиме (yarn run dev:api
), затем на другой вкладке терминала запустите:
cd mobile && yarn start
Для более подробной информации см. Expo CLI