- Introduction
- Features
- Technologies Used
- Setup and Installation
- Authentication
- API Integration
- Themes
- Audio Playback
- GitaGPT
- Image Storage
- Contact and About Pages
- Deployment
- Contributing
- License
The Bhagavad Gita website is a dynamic and interactive platform that allows users to explore the teachings of the Bhagavad Gita. Built with Next.js and Tailwind CSS, the website offers a range of features including secure authentication, customizable themes, audio playback, and an AI-powered Q&A system. The goal is to make the profound wisdom of the Bhagavad Gita more accessible and engaging for users.
- Secure Authentication: Supports login via GitHub, Google, and LinkedIn using Auth0.
- Customizable Themes: Offers various themes such as Light, Dark, Cyberpunk, Halloween, Valentine, Winter, Aqua, Retro, Luxury, Black, and Dim.
- Interactive Scripture Access: Allows users to browse chapters and verses with Sanskrit headings and Hindi translations.
- Audio Playback: Enables users to listen to verses.
- GitaGPT: Provides answers to life-related questions from Shree Krishna.
- Cloud Image Storage: Utilizes ImageKit.io for image storage.
- Contact and About Pages: Includes information about the project and ways to get in touch.
- Front-end: Next.js, Tailwind CSS
- Back-end: Node.js, Express.js
- Database: MongoDB
- Authentication: Auth0
- Audio Integration: HTML5 Audio API
- AI Integration: Custom implementation (GitaGPT)
- Image Storage: ImageKit.io
-
Clone the Repository:
git clone https://github.com/satyamgit1/bhagavad_gita.git cd bhagavad_gita
-
Install Dependencies:
npm install
-
Configure Environment Variables: Create a
.env.local
file in the root directory and add the following variables:MONGODB_URI=<your_mongodb_uri> AUTH0_DOMAIN=<your_auth0_domain> AUTH0_CLIENT_ID=<your_auth0_client_id> AUTH0_CLIENT_SECRET=<your_auth0_client_secret> NEXT_PUBLIC_IMAGEKIT_URL_ENDPOINT=<your_imagekit_url_endpoint>
-
Run the Development Server:
npm run dev
Open http://localhost:3000 in your browser to see the application.
Authentication is implemented using Auth0. Users can log in using their GitHub, Google, or LinkedIn accounts. The authentication flow is handled by Auth0 and integrated into the application using the next-auth
library.
The website uses a custom REST API to fetch chapter and verse data. The API endpoints are defined in the api
directory and are consumed by the front-end using axios
.
Users can choose from a variety of themes to customize their experience. The themes are implemented using Tailwind CSS and can be selected from the user settings.
The website includes audio playback functionality for each verse. The audio files are stored in the cloud and played using the HTML5 Audio API.
GitaGPT is an AI-powered system that answers life-related questions based on the teachings of the Bhagavad Gita. It uses a custom implementation to provide meaningful responses.
Images are stored using ImageKit.io, which provides efficient cloud storage and management. The integration is handled using the ImageKit SDK.
The website includes Contact Us
and About Us
pages. These pages provide information about the project and ways for users to get in touch with the team.
The website is deployed on Vercel, which provides seamless deployment for Next.js applications. To deploy the project:
- Push the code to a GitHub repository.
- Link the repository to Vercel.
- Configure the environment variables in Vercel settings.
- Deploy the project.
Contributions are welcome! If you have suggestions for improvements or new features, feel free to submit a pull request. Please ensure your code follows the project's coding standards.
This project is licensed under the MIT License. See the LICENSE
file for more details.