Skip to content

BhagavadGita.io v2 Plan

Samanyou Garg edited this page Apr 13, 2020 · 4 revisions

Please refer to the Roadmap before reading further.

Planned Features

1. Verse of the day

👉Every day a new verse is selected and sent to users via email, push notifications etc. Similar to how it is implemented in v1.

👉Could rethink the process of selecting verses.

2. Full-Text Search

👉Should be fast and in realtime.

👉Could use something like Algolia.

👉Search by chapter, verse, phrase or person to quickly find what you are looking for.

👉Language independent.

3. Verse Page

Each verse should have - >

👉Sanskrit verse

👉Transliteration of the Sanskrit verse

👉 Word meanings

👉Translation by an authorized source

👉Commentary by an authorized source

👉Audio (See feature 4 for more detail)

Actions for each verse page / on selecting a verse on the chapter page -

👉copy text

👉share text (Verse sharing should have chapter and Verse number and link for that Verse.)

👉bookmark/favourite

👉add notes (See feature 18)

👉highlight

4. Audio for verses

👉Audio for the Sanskrit verse, translation as well as commentary for all the verses.

👉 Initial Hindi and English support and later add for more languages.

👉Use Alexa or Google Wavenet for text to speech.

5. Progress Tracking  

👉User should be able to keep track of their Chapter-wise, Overall and Monthly Progress using detailed graphs and statistics. (something to similar to what's there in v1)

👉Add a GitHub like streak chart.

👉Time connected with Krishna (daily/weekly/monthly)

6. Achievements System

👉 Reward user with badges etc on completing certain tasks (eg 100 verses read).

👉 Allow user to share the achievement.

7. Reading Plans 

👉 Allow users to subscribe to reading plans so that they can improve their Gita reading habits. 👉 Eg - monthly, yearly etc.

8. Favourites 

👉 Allow users to mark verses as a favourite so that they can read those later.

9. Theme Customization

👉Allow users to personalize the theme by allowing them to change the -

  1. font size
  2. colours

👉Add option for dark mode.

10. Offline availability

👉Allow users to download the verses so they can read when there is no internet connection.

11. Settings

👉Choose verse transliteration language

👉Choose translation/commentary source and language

👉Choose secondary commentary source and language

👉Choose font size, style and theme

12. Last read verse

👉Show user's last read verse on the homepage so that they can quickly navigate to it.

13. Random verse

👉 Display a random verse on the homepage

👉 New verse on each refresh

14. Navigate to specific chapter and verse

👉 Allow the user to go to a specific chapter and verse

15. Subscription popup (full screen for mobile)

👉 Display the first time and if not subscribed then again after x number of times.

👉 Option to subscribe later (display after some time)

16. Chat and forum

👉A community to chat and discuss topics related to the Bhagavad Gita.

17. Daily Alarm

👉Remind the user to read the Gita each day.

18. Notes for each verse

👉A popup that allows a user to enter notes for a particular verse.

👉Options like save, delete, share and copy.

19. History

👉List of all the verses read by the user in reverse chronological order.

20. Quiz

👉Daily quizzes on the Bhagavad Gita.

21. Dictionary

👉A dictionary of all the word meanings from the Gita.

22. Hierarchical ordering

👉Structure the shlokas methodologically. Arrange them into Chapter No. And Shloka No. and add meta accordingly in frontend as well as API. 3.67 would mean Shloka no. 67 of Chapter 3.

23. Setup Patreon + merchandises

👉Setup Patreon for donations and merchandise store.


Please feel free to contribute to the features above by opening an issue.


Tech Architecture

Backend: FastAPI

Frontend: SSR with NextJS (React)

Mobile Apps(Android and iOS): React Native / (Java and Swift) depending on the experience of devs.

Database: PostgreSQL/MongoDB (Needs to be decided)

CI/CD: Github Actions

Analytics: Google Analytics

Application Performance Monitoring: AppDynamics

CDN: Cloudflare

Unit Testing: JEST (for JS), unittest (for Python)