Get the weather for any city in the World!
- Current Weather
- 2 days of hour-by-hour previsions
- 7-day forecast
- Geolocation
- Localization (English and French, but please contribute more languages!)
- Dark Mode
- Auto-save location and preferences
- Keyboard-accessible
- Mobile-friendly
- Responsive UI
A code project submitted to the Codementor Code Projects initiative.
This is a Next.js application bootstrapped with create-next-app
.
This project uses the OpenWeather API to get the meteorological conditions and MapBox for cartography. You'll need (free) accounts for both.
Once you have your accounts, you can find your API keys and tokens. Copy .env.local.example
to a new file named .env.local
and save your API keys and tokens there.
cp .env.local.example .env.local
The project also uses Chart.js for plotting, date-fns for time manipulation and a few other libraries (see all dependencies in package.json). Install all dependencies with npm.
npm install
npm run dev
Open http://localhost:3000 with your browser to see the result.
Using Jest
npm test
The objective of this project is to provide a realistic context for people to learn about programming for the web. With that in mind, if you'd like to contribute to this repository, please feel free to have a look at the guidelines, open issues and submit your first Pull Request!
- Better coding practices
- Better performance
- Better visual design
- Additional features
- Translations for more languages
Anything goes!
It is intended for most pull requests to be accepted, but some may be refused for straying too far from the original goal, or for any other reason, really. If you're not sure, just open an issue with your idea before you start the work and any questions or details about the proposal can be discussed there.