Skip to content

Generate air quality reports from anywhere in the world and share them with your friends!

License

Notifications You must be signed in to change notification settings

xxczaki/air-radar

Repository files navigation

Disclaimer: Work in progress


Air Radar ☁️

Generate air quality reports from anywhere in the world and share them with your friends!

Build Status XO code style style: styled-components


Highlights

  • Blazing fast (uses incremental SSG and many performance optimizations) ⚡
  • Uses 2* data sources merged into one, unified API 📑
  • Implements i18n 🌐
  • Features strong focus on accessibility 👍
  • Fully customizable 🛠️
  • Pleasing, fully responsive design 💅
  • Utilizes end-to-end encryption 🔒
  • Written in TypeScript

*We aim to add more data sources in the future.

Development

The following environmental variables need to be provided:

  • DB_URI - MongoDB database URI.
  • DB_USER - Database username.
  • DB_PASSWORD - Database password.
  • DB_NAME - Database name.
  • DB_COLLECTION - Collection name.
  • NEXT_PUBLIC_AIRLY_KEY - Airly API key.
  • NEXT_PUBLIC_WAQI_TOKEN - Air Quality Open Data Platform API token.
  • NEXT_PUBLIC_MAPBOX_TOKEN - Mapbox API token.

You can use the .env.local file for this.


Hosted with Vercel ▲

# Run in development mode
$ npm run dev

# Build for production
$ npm run build

# Lint
$ npm test

TODO

  • Home page
    • Multiple data sources
      • Airly
      • World Air Quality Index
      • ?
    • Show the amount of reports created
  • Reports page
    • Map
    • Charts
    • Sensor information
      • Provider
      • Location
      • Distance
    • Share functionality
      • Generate Open Graph images
      • Investigate the Navigator.share() API
    • Information about WHO standards
  • Other pages
    • Allow adding custom-made air pollution sensors
    • Manage locally created reports
    • Privacy policy
  • i18n (long-standing task)
  • Persist global state (possibly blocked by Recoil API changes)
  • Secure API routes
  • Improve language-based redirection
  • End-to-end encryption

Technology stack

License

MIT