Prometeos is a cross-platform mobile application developed with Expo and React Native that allows users to search and view current weather conditions for various cities. It includes features like adding cities to favorites, changing the temperature unit (Celsius/Fahrenheit), automatic switching between light and dark map modes based on the time, and multilingual support.
- ๐ City search with automatic suggestions.
- ๐ก๏ธ Display current weather conditions for a city: temperature, local time, sky condition with emojis.
- โญ Add cities to favorites for quick access.
- ๐ Change temperature unit between Celsius and Fahrenheit.
- ๐ Multilingual support (French, English, Spanish).
- ๐ View favorites with city names automatically translated according to the selected language.
- ๐บ๏ธ Dynamic maps: switch between light and dark mode based on the time of day.
App.js
: ๐ Entry point of the application with tab navigation configuration (Search, Favorites, Settings) and global context.FavoritesContext.js
: โญ Context to manage favorites (add, remove, reset).TemperatureContext.js
: ๐ก๏ธ Context to manage the default temperature unit (Celsius or Fahrenheit).components/
: Contains the main components of the application.WeatherManager.js
: ๐ฆ๏ธ Manages search, city validation, and weather data display.FavoritesPage.js
: ๐ Displays favorite cities and allows navigation to their weather forecast.CityInput.js
: โ๏ธ Input component with suggestions for city search.WeatherDisplay.js
: โ๏ธ Displays weather data, local time, and a button to add/remove favorites.CityMap.js
: ๐บ๏ธ Displays a map centered on the selected city.
Localization is managed with i18next, and translations are stored in JSON files. City and country names are translated using API calls and the i18n-iso-countries
library.
- Maxime Rollin - Lead Developer