Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wiseaidev/fine-dashboard
An admin panel/dashboard with persistent storage powered by Refine, Supabase, RTK, RTK Query and friends.
https://github.com/wiseaidev/fine-dashboard
netlify react react18 redux redux-thunk redux-toolkit refine refine-hackathon rtk-query supabase tyepscript vercel
Last synced: about 1 month ago
JSON representation
An admin panel/dashboard with persistent storage powered by Refine, Supabase, RTK, RTK Query and friends.
- Host: GitHub
- URL: https://github.com/wiseaidev/fine-dashboard
- Owner: wiseaidev
- License: mit
- Created: 2023-02-23T19:17:56.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-22T05:12:34.000Z (over 1 year ago)
- Last Synced: 2024-11-02T04:11:57.528Z (3 months ago)
- Topics: netlify, react, react18, redux, redux-thunk, redux-toolkit, refine, refine-hackathon, rtk-query, supabase, tyepscript, vercel
- Language: TypeScript
- Homepage: https://fine-dashboard.netlify.app/
- Size: 3.29 MB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Fine Dashboard
[![Demo on Netlify](https://badgen.net/badge/icon/netlify/green?icon=telegram&label=fine-dashboard)](https://fine-dashboard.netlify.app)
[![Demo on Vercel](https://badgen.net/badge/icon/vercel?icon=telegram&label=fine-dashboard)](https://fine-dashboard.vercel.app)
[![Netlify Status](https://api.netlify.com/api/v1/badges/a303e27c-ddde-4edc-bd1d-a9492a0e900f/deploy-status)](https://app.netlify.com/sites/thriving-gaufre-13a5a8/deploys)
[![Tag](https://badgen.net/github/tag/wiseaidev/fine-dashboard)](https://github.com/wiseaidev/fine-dashboard/releases/tag/v0.1.0)
This [refine](https://github.com/pankod/refine) project was generated with [superplate](https://github.com/pankod/refine).
## π Project Demo links
- [Netlify](https://fine-dashboard.netlify.app/).
- [Vercel](https://fine-dashboard.vercel.app/).## π About
### π Supported Features
- Supabase as a backend.
- Light and dark modes.![Light Mode](./assets/light-mode.png)
![Dark Mode](./assets/dark-mode.png)
- A Google Map Widget.
![Google Map Widget](./assets/google-map-widget.png)
- 2 charts built using rechartjs.
![Area Chart](./assets/chart-1.png)
![Bar and Lines chars](./assets/chart-2.png)
- Login and registration using user/password, Google, and Github(Github is working on localhost. Google is not working at the moment).
![Socials login](./assets/socials-login.png)
![Register Page](./assets/register-page.png)
- Data provided by fake data endpoint hosted on refine(https://api.fake-rest.refine.dev).
- A custom social widget that act as a simple Linkedin clone.![Socials Widget](./assets/social-widget.png)
- Redux Toolkit's `createAsyncThunk` and `RTKQ`.
### π Description
Fine Dashboard is a pretty advanced dashboard equipped with cool analytics and charts. It is user-friendly, with a clean interface that is easy to navigate. In addition, It is fully responsive meaning that it will work seamlessly on various devices. So whether you're accessing it on a laptop, or mobile, it will look great everywhere.
### π Participants
- Solo.
### π₯ Preview
## π§ Set up Project
## π οΈ Prerequisites
- A Supabase Account.
- Google Cloud API keys, Cliend ID and secrets.## πΆ Getting Started
### β‘οΈ Configure New Supabase Account.
- [Register a new Supabase Account](https://app.supabase.com/sign-in).
- Set the following environment variables to your supabase app URL and ANON KEY:
![Supabase anon key](./assets/supabase-anon-key.png)
```sh
REACT_APP_SUPABASE_URL=
REACT_APP_SUPABASE_ANON_KEY=
```### πΊοΈ Goolge API key credentials.
- Go to your [Google Cloud console](https://console.cloud.google.com/apis/credentials), then go to `Menu` > `APIs & Services` > `Credentials`.
![Google Cloud Credentials](./assets/google-cloud-credentials.png)
- Click `Create credentials` > `API key`.
![Create credentials](./assets/create-api-key.png)
- Click `Copy` to copy your API key for use in our project.
![Google API Key](./assets/api-key.png)
- Set the following environment variable to your API key:
```sh
export REACT_APP_GOOGLE_KEY=
```### π§’ Adding Google Credentials in Supabase
- Go to your [Google Cloud console](https://console.cloud.google.com/apis/credentials), then go to `Menu` > `APIs & Services` > `Credentials`.
- Click `Create credentials` > `Create OAuth client ID`.
- Click `Copy` to copy your Cliend key and secret for use in our project.
![Cliend Key](./assets/oauth-keys.png)
- Go to your Supabase dashboard an enable Google auth provider.
![Supabase Google provider](./assets/supabase-google.png)
- Paste the recently copied values into their correspondent places.
### πΎ Adding Github Credentials in Supabase
- Go to [your Github developers page](https://github.com/settings/developers), then click `Register a new application`.
![Github developers page](./assets/github-developers-page.png)
- Click `Generate a new client secret`.
- Click `Copy` to copy your Cliend ID and key for use in our project.
![Github keys](./assets/github-keys.png)
- Go to your Supabase dashboard an enable Github auth provider.
![Supabase Github provider](./assets/supabase-github.png)
- Paste the recently generated values into their correspondent places.
## π¨ Install Project
### π Running the development server.
- Fork/Clone the repo:
```sh
git clone [email protected]:wiseaidev/fine-dashboard.git
```- Open the newly created directory:
```sh
cd fine-dashboard
npm install
```In order to run the project locally or build for production use, you will need to set the following environment variables to connect with the Supabase backend and google maps:
```sh
REACT_APP_SUPABASE_URL=
REACT_APP_SUPABASE_ANON_KEY=
REACT_APP_GOOGLE_KEY=
```Now you can run the client:
```sh
npm run dev
```Navigate to [http://localhost:3000](http://localhost:3000) to explore the login page.
### βοΈ Building for production.
```sh
npm run build
```### π Running the production server.
```sh
npm run start
```## π Deployment
To deploy the client, you will need to set the following environment variables.
```sh
REACT_APP_SUPABASE_URL=
REACT_APP_SUPABASE_ANON_KEY=
REACT_APP_GOOGLE_KEY=
```### ποΈ Deploy to a Static Hosting Provider
[![Deploy on Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/wiseaidev/fine-dashboard)
[![Deploy on Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/wiseaidev/fine-dashboard)
## π§ 2023 Roadmap
- Fix Google authentication.
- Add crud operations for socials widgets.
- Add support for i18n for the remaining widgets.## π Learn More
To learn more about **refine**, please check out the [Documentation](https://refine.dev/docs)
- **REST Data Provider** [Docs](https://refine.dev/docs/core/providers/data-provider/#overview)
- **Material UI** [Docs](https://refine.dev/docs/ui-frameworks/mui/tutorial/)
- **Inferencer** [Docs](https://refine.dev/docs/packages/documentation/inferencer)
- **Material UI Light/Dark Mode** [Docs](https://refine.dev/docs/ui-frameworks/mui/customization/mui-custom-theme/)
- **Material UI Custom Theme** [Docs](https://refine.dev/docs/ui-frameworks/mui/customization/mui-custom-theme/)
- **Custom Layout** [Docs](https://refine.dev/docs/ui-frameworks/mui/customization/mui-custom-layout/)
- **React Router** [Docs](https://refine.dev/docs/core/providers/router-provider/)
- **Custom Auth Provider** [Docs](https://refine.dev/docs/core/providers/auth-provider/)
- **i18n** [Docs](https://refine.dev/docs/core/providers/i18n-provider/)## π License
This project and the accompanying materials are made available under the terms and conditions of the [`MIT LICENSE`](https://github.com/wiseaidev/fine-dashboard/blob/main/LICENSE).