From cd8052211d1fbefff6022210fb0cadaab1022710 Mon Sep 17 00:00:00 2001 From: fxi Date: Wed, 13 Nov 2024 16:13:41 +0100 Subject: [PATCH] Update README.md --- README.md | 122 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 75 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 758716e..9c002f7 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,96 @@ -# Astro Starter Kit: Blog +# GRID STAT -```sh -npm create astro@latest -- --template blog -``` +GRID STAT is a modern data visualization dashboard built with Astro and React, designed to display and analyze environmental and greenhouse gas (GHG) statistics. -[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/blog) -[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/blog) -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/blog/devcontainer.json) +## 🚀 Features -> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! +- **Interactive Dashboard**: Dynamic visualization of environmental indicators and GHG data +- **Multiple View Modes**: Switch between chart and table views for data analysis +- **Advanced Filtering**: Search and filter indicators by topics and keywords +- **Responsive Design**: Fully responsive layout with a clean, modern interface +- **Real-time Data**: Integration with UNEP GRID API for up-to-date environmental statistics -![blog](https://github.com/withastro/astro/assets/2244813/ff10799f-a816-4703-b967-c78997e8323d) +## 🛠️ Tech Stack -Features: +- [Astro](https://astro.build) - Web framework for content-driven websites +- [React](https://reactjs.org) - UI component library +- [Tailwind CSS](https://tailwindcss.com) - Utility-first CSS framework +- [Recharts](https://recharts.org) - Composable charting library +- [TypeScript](https://www.typescriptlang.org) - Static typing for JavaScript +- [Lucide React](https://lucide.dev) - Beautiful & consistent icon system -- ✅ Minimal styling (make it your own!) -- ✅ 100/100 Lighthouse performance -- ✅ SEO-friendly with canonical URLs and OpenGraph data -- ✅ Sitemap support -- ✅ RSS Feed support -- ✅ Markdown & MDX support +## 📦 Installation -## 🚀 Project Structure +1. Clone the repository: +```bash +git clone https://github.com/unep-grid/grid_stat +cd grid_stat +``` -Inside of your Astro project, you'll see the following folders and files: +2. Install dependencies: +```bash +npm install +``` -```text -├── public/ -├── src/ -│   ├── components/ -│   ├── content/ -│   ├── layouts/ -│   └── pages/ -├── astro.config.mjs -├── README.md -├── package.json -└── tsconfig.json +3. Start the development server: +```bash +npm run dev ``` -Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. +4. Build for production: +```bash +npm run build +``` -There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. +5. Preview the production build: +```bash +npm run preview +``` -The `src/content/` directory contains "collections" of related Markdown and MDX documents. Use `getCollection()` to retrieve posts from `src/content/blog/`, and type-check your frontmatter using an optional schema. See [Astro's Content Collections docs](https://docs.astro.build/en/guides/content-collections/) to learn more. +## 🏗️ Project Structure -Any static assets, like images, can be placed in the `public/` directory. +``` +. +├── src/ +│ ├── components/ +│ │ ├── Navbar.astro +│ │ ├── dashboard/ # Main dashboard components +│ │ └── ui/ # Reusable UI components +│ ├── data/ # Mock data and indicators +│ ├── layouts/ # Astro layout templates +│ ├── pages/ # Route pages +│ └── styles/ # Global styles +├── public/ # Static assets +├── astro.config.mjs # Astro configuration +├── tailwind.config.mjs # Tailwind CSS configuration +└── package.json +``` + +## 🔧 Configuration -## 🧞 Commands +The project uses Astro's configuration file (`astro.config.mjs`) with the following integrations: +- MDX support +- Sitemap generation +- React components +- Tailwind CSS (with custom configuration) + +## 📝 API Integration + +The dashboard integrates with the UNEP GRID API to fetch environmental indicators: +```typescript +const response = await fetch('https://api.unepgrid.ch/stats/v1/indicators?language=eq.en'); +``` -All commands are run from the root of the project, from a terminal: +## 🤝 Contributing -| Command | Action | -| :------------------------ | :----------------------------------------------- | -| `npm install` | Installs dependencies | -| `npm run dev` | Starts local dev server at `localhost:4321` | -| `npm run build` | Build your production site to `./dist/` | -| `npm run preview` | Preview your build locally, before deploying | -| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | -| `npm run astro -- --help` | Get help using the Astro CLI | +Contributions are welcome! Please feel free to submit a Pull Request. -## 👀 Want to learn more? +## 📄 License -Check out [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). +[Add your license information here] -## Credit +## 🙏 Acknowledgments -This theme is based off of the lovely [Bear Blog](https://github.com/HermanMartinus/bearblog/). +- UNEP GRID for providing the environmental data API +- The Astro team for the excellent web framework +- All contributors to this project