Skip to content

Worlaf/solo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SOLO

Проект команды OnGame для решения кейса "Парковед"

Решение состоит из трех приложений: бэкенд (solo.backend), веб сервис (solo.frontend) и мобильное приложение (solo.mobile)

solo.backend

Бэкенд написан с использованием Asp.Net Core, в проекте задействованы следующие nuget-пакеты: Autofac Microsoft.EntityFrameworkCore Newtonsoft.Json

В качестве СУБД используется MSSQL

Для того, чтобы запустить приложение необходима Visual Studio Community последней версии с установленным .Net Core 3.1. В системе должен быть запущен инстанс MSSQL, названный "SQLSERVER", с режимом аутентификации через учетную запись Windows (Windows Authentication). Либо необходимо изменить строку подключения в Solo.Api/appsettings.development.json в соответствии настройками существующего инстанса MSSQL.

Проект разбит на 4 "слоя" - Solo.Api - непосредственно апи, Solo.Data - на данный момент только инфраструктура для взаимодействия с БД и репозитории, Solo.Domain - доменные и вспомогательный сущности, Solo.Common - общая вспомогательная функциональность.

С точки зрения АПИ реализованы эндпоинты для получения списка парков, получения/редактирования объектов парков и для работы с билетами: получение списка билетов, "покупка" и "использование" билетов.

Аутентификация сделана максимально простым способом - проверяется наличие хедера "Authorization", в котором подразумевается наличие имейла пользователя, по которому он и идентифицируется. Если хедера нет, значит пользователь зашел с админки и является админом. Данный способ был выбран из-за отсутствия времени на реализацию нормальной аутентификации (впрочем, и многие другие решения продиктованы сжатыми сроками).

solo.frontend

Для запуска фронтенда должен быть установлен yarn. Нужно открыть терминал в папке solo.frontend и выполнить команду yarn install. Необходимо создать файл с переменными окружения (например, .env.development.local в корне проекта со следующим содержанием: REACT_APP_API_URL=https://e5ca24861b23.ngrok.io, url - тот, на котором запущен бэкенд) а затем выполнить команду yarn start. Веб приложение написано на react/typescript, из крупных пакетов использованы "material-ui", "react-router" и "axios", остальные задействованные пакеты можно увидеть в packages.json.

Реализована функциональность: выбор парка, редактирование объектов парка. Для выбора объекта можно кликать по маркеру на карте. Также при редактировании координат можно кликнуть по карте чтобы не вводить их вручную.

solo.mobile

Мобильное приложение создано с использованием react-native и платформы expo. В качестве карт используются google maps, которые требуют API-ключ. Для запуска необходима платформа expo (https://docs.expo.io/) а также эмулятор смартфона на базе андроид, либо физическое устройство. Может понадобиться установить ADB (https://developer.android.com/studio/releases/platform-tools).

npm install --global expo-cli
yarn install
yarn start

Реализован выбор парка, просмотр объектов парка, "покупка" и "использование" билетов.

Все вместе

Для того, чтобы мобильное приложение могло посылать запросы на бэкенд, необходимо либо пробросить порты в сети и указать соответствующий baseURL в axios.ts, либо можно воспользоваться решениями для тунеллирования трафика, например ngrok (аналогично, нужно обновить baseUrl в axios.ts)

Веб-сервис размещен по адресу https://solo-290412.web.app/ На главной странице есть ссылка на скачивание apk-файла (https://drive.google.com/file/d/1CCZ_8RrhQoSD41xdvqHBK3SRPqRSV5y3/view?usp=sharing)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published