You will need to set up a Supabase project and OAuth credentials with Google before beginning.
# clone production branch
$ git clone https://github.com/taeyangcode/data-viz-platform
$ cd data-viz-platform
# install dependenices
$ npm install
# initialize secrets from template
$ cp .env.template .env.local
# build and preview local emulation of production
$ npm run build
$ npm run preview
- Google OAuth 2.0 Authentication w/ Supabase
- Zustand Session State Management
- React Router
- Dashboard Screen
- Slide Over Card
- Integration of Component Libraries (shadcn/ui, Origin UI)
- I chose Supabase as my means for user authentication which comes with a variety of trade-offs. Supabase provides a simple and robust interface to set up user authentication and data storage without the developer having to worry about a backend. Of course the immediate downside of a DBaaS is also apparent as the service will couple the codebase with the platform - posing potential issues with migration and experimenting down the road. Since this project was ultimately a demo, I decided that functionality and time to code was of greater importance and stook with Supabase. Although Supabase also provides an interface for email logins, I decided to defer integrating this feature until other larger components of the project were complete, though due to time constraints I was unable to implement it.
- Authentication only with Google (no email login) - Supabase's servers are giving my cryptic errors
- 16 hours on and off
- 9 consistent hours
# clone development branch
$ git clone https://github.com/taeyangcode/data-viz-platform -b dev
$ cd data-viz-platform
# install dependenices
$ npm install
# initialize secrets from template
$ cp .env.template .env.local
# start development server
$ npm run dev