Skip to content

Adamhunter108/i-ching-nextjs-supabase

Repository files navigation

I Ching - Next.js | Supabase

ℹ️ About:

A Progressive Web-App for getting a daily I Ching reading and sharing results.

The app offers user authentication using both email/password and Single Sign-On (SSO) for Google accounts. While the app is fully functional for users without accounts, those who are not signed in will not be able to save their readings.

🤔 What is the I Ching The I Ching, usually translated to Book of Changes, dates back to 1,000 BC. This several thousand year old book is regarded as a foundational text of eastern wisdom and philosophy. Originally a divination manual, the I Ching is meant to provide insight and guidance for moral decision making. An I Ching reading comes in the form of a Hexagram which consists of six lines which are either broken (yin) or unbroken (yang).

🔮 How to consult the I Ching Back in the day, people would throw yarrow stalks to calculate and construct their Hexagrams. Tossing coins, usually three at a time, is a more modern and convenient method. Those analog methods require calculations and often involve interpreting changing lines.
To use this app, all you need to do is press the Divinate button. We recommend doing only one reading a day and sitting with the result. Each Hexagram is unique and has a number. Feel free to google your Hexagram number to read more about it.

📲 How to install a PWA
🖥️ Desktop
Currently, Google Chrome is the only browser with PWA support for desktop operating systems. In Google Chrome, after the page loads there will be an option to install the app in the address bar next to the share and star icons.

📱 Mobile
Safari iOS - Press the "Share" button and select "Add to Home Screen" from the popup.
Android Chrome - Press the "three dot" icon in the upper right to open the menu. Select "Add to Home screen".

Visit project: bookofchanges.app


📚 Tech Stack:

  • The front-end is a Next.js progressive web-app written in TypeScript, styled with Tailwind CSS and deployed continuously to Vercel.
  • The back-end is built with Supabase, where the PostgreSQL database stores user data.
TypeScript React Tailwind CSS Next.js Node.js PostgreSQL

💻 Local Development:

❗️ Requirements:

  • Node.js
  • Supabase environment variables
    • Change env.local.example to env.local
$ # install dependencies
$ npm i
$ # start local development node.js server
$ npm run dev
$ # or
$ yarn dev


Bonus

For a Python CLI version of this app: github.com/Adamhunter108/i-ching