CHANAKYA-NITI is a web application designed to provide an engaging platform for exploring and learning about the teachings of Chanakya, an ancient Indian philosopher, economist, and strategist.
This project aims to bring the timeless wisdom of Chanakya to a modern audience, making his teachings accessible and engaging through a digital platform.
- Interactive Interface: Engaging UI for exploring Chanakya's teachings.
- Secure Backend: Robust infrastructure to secure source code and multimedia content.
- AI Integration: Personalized recommendations and image processing.
- User Authentication: Secure and personalized user experiences.
- Multimedia Content: Audio files, books, videos on Chanakya’s life.
- API Access: Allows users to create their own Chanakya-Niti websites.
- Language Translation: AI model for translating content into multiple languages.
The backend of the CHANAKYA-NITI application is designed to provide a secure and scalable infrastructure for handling user data, authentication, multimedia content, and AI integrations.
- Repository Link: chanakya-niti-backend
- Technologies Used:
- Node.js: Server-side JavaScript runtime.
- Express.js: Web application framework for Node.js.
- MongoDB: NoSQL database for storing application data.
- JWT: JSON Web Tokens for secure user authentication.
- TensorFlow: AI model integration for personalized recommendations and language translation.
Chanakya-Niti
├── Frontend
│ └── React + Vite
│ ├── Navbar
│ │ ├── Logo
│ │ │ └── Targeting the homepage
│ │ ├── About Page
│ │ │ ├── Chanakya Card component
│ │ │ │ └── Detailed timeline of Chanakya's life
│ │ │ ├── Chandragupta Card component
│ │ │ │ └── Chandragupta's life
│ │ │ └── Maurya Dynasty Card component
│ │ │ └── Its lifeline
│ │ ├── Resources Section
│ │ │ ├── Audio Card Section
│ │ │ │ ├── Chanakya Card component
│ │ │ │ │ └── Story of Chanakya
│ │ │ │ └── Planning of other persona stories
│ │ │ ├── Books Card Section
│ │ │ │ └── Chanakya Card component
│ │ │ │ └── Books related to Chanakya
│ │ │ └── Videos Card Section
│ │ │ ├── Videos related to Chanakya
│ │ │ └── Planned for other persona resources
│ │ ├── Contributors Page
│ │ │ ├── Card of Contributors
│ │ │ │ └── Images fetched from GitHub API
│ │ │ └── Details Button
│ │ │ ├── GitHub Button
│ │ │ ├── LinkedIn Button
│ │ │ └── Working details button
│ │ │ └── Details of contributions linked to the database
│ │ └── Sign In/Sign Up Buttons
│ ├── Main Body
│ │ └── Homepage
│ │ └── Showcasing UI and intro of all website sections
│ └── Footer
│ ├── Logo
│ ├── One-line Intro
│ ├── Contact Information
│ │ └── Social Icons
│ │ ├── GitHub
│ │ └── Discord
│ └── Project Frontend repo link
├── Backend
│ ├── Express + Node + MongoDB
│ │ ├── User Authentication
│ │ │ └── JWT
│ │ │ └── Sign In/Sign Up
│ │ │ └── Database from MongoDB URL
│ │ ├── Database Integration
│ │ │ ├── MongoDB API
│ │ │ │ ├── Quotes resources
│ │ │ │ ├── Books resources
│ │ │ │ ├── Videos resources
│ │ │ │ ├── Audio resources
│ │ │ │ └── Contributors' records
│ │ │ └── GitHub API
│ │ └── API Access for logged-in users only
│ │ └── API hits capped at 1000
│ └── AI Integration
│ | ├── Text-to-Speech Converter
│ | │ └── For books resources
│ | └── Language Translator
│ | ├── For books
│ | └── For audios
| ├── Testing
| └── Documentation
└── Database
├── Audio database
├── Videos database
├── Books database
└── Quotes database
- Clone the repository:
git clone https://github.com/<your-username>/chanakya-niti.git
- Navigate to the project directory:
cd chanakya-niti
- Install dependencies:
npm install
- Start the development server:
npm run dev
We welcome contributions! Here’s how you can get started:
- Fork the repository.
- Create a new branch:
git checkout -b issue/<issue-number>
- Make your changes and commit them:
git commit -m 'Add some feature'
- Push to the branch:
git push origin issue/<issue-number>
- Open a pull request.
- Feel the pr template carefully by properly linked your issue with the pr.
- Maintainer: Avdhesh Varshney
- Discord Server: https://discord.gg/tSqtvHUJzE
- Start Simple: Begin with small tasks such as fixing typos, improving documentation, or resolving simple bugs. This will help you familiarize yourself with the project structure and coding standards.
- Intermediate Tasks: Once comfortable, take on more complex tasks such as adding new features, improving existing functionalities, or optimizing code performance.
- Advanced Contributions: Work on integrating AI models, enhancing security features, or developing new modules. This requires a deep understanding of the project's architecture and advanced coding skills.
- Engage with the Community: Participate in discussions, attend virtual meetups, and provide feedback on others' contributions. Collaboration is key to the success of open-source projects.
- Stay Updated: Regularly check the project's issue tracker, roadmap, and discussion forums to stay informed about the latest developments and opportunities for contribution.