Приложение Country Me
Идея приложения состоит в том, что при входе в него вычисляется ваша страна на основе вашего IP. Далее эта информация используется для того, чтобы отобразить краткую справку о вашей стране, показать на карте ее местоположение, показать погоду в столице и несколько фотографий вашей страны. Это выглядит так, как будто вы вошли в профиль своей страны в Twitter.
Для работы приложения используется несколько API.
ipstack
API для получения информации о запрошенном IP. Используется для определения страны пользователя. Настройки в Heroku:
- IPSTACK_URI='http://api.ipstack.com'
- IPSTACK_KEY=Ваш ключ
Google Maps API
API карт Google используется для отображения карты с расположением вашей страны. Настройки Heroku:
- CLIENT_APP_GOOGLE_MAPS_KEY=Ваш ключ
- CLIENT_APP_GOOGLE_MAPS_URI='https://maps.googleapis.com/maps/api/js'
Dark Sky API
API используется для получения информации о погоде в сталице вашей страны. Настройки в Heroku:
- DARK_SKY_API_KEY=Ваш ключ
- DARK_SKY_API_URI='https://api.darksky.net/forecast'
Flickr API
API используется для получения картинок с изображением вашей страны по тегам с названием страны и столицы страны. Настройки в Heroku:
- FLICKR_API_KEY=Ваш ключ
- FLICKR_API_URI='https://api.flickr.com/services/rest'
Важно! Для запуска этого приложения локально вам нужно будет иметь все эти настройки в окружении env вашего сервера. Вы можете создать .env файл или воспользоваться другими способами. Без этих переменных в окружении приложение локально работать не будет.
Так же для запуска вам потребуется иметь строку подключения к MongoDB. В своем проекте я использую инстанс с mLab. Вы можете использовать что угодно. Строка подключения к MongoDB содержится так же в настройках окружения:
- MONGODB_URI='mongodb:// ваша строка подключения'.
Важно! Не забудьте добавить строку подключения в переменные окружения.
Приложение так же использует ещё один открытый API. REST COUNTRIES. Для его вызова вам не нужно проводить никаких настроек. Оно вызывается при первом старте приложения и наполняет базу данных необходимыми данными о странах.
Приложение развернуто на сервере Heroku и доступно по адресу https://country-me-staging.herokuapp.com/. Как уже упоминалось выше, приложение использует облачный сервис с базами данных MongoDB mLab. В основе приложения лежит небольшой express-backend с частью front-end на React. Для сборки приложения используется Webpack.
Для запуска приложения локально нужно произвести следующие действия:
- Настроить все переменные окружения так, как это сказано выше.
- Выполнить команду
npm install
для восстановления всех необходимых зависимостей. - Запустить все тесты командой
npm test
для того, чтобы убедиться что все настроено правильно. - Выполнить команду
npm start
и перейти по предложенному на консоли URL.
В приложении используются графические материалы, нарисованные моей женой Катериной.