Connecting ancient Tamil philosophy with today’s digital landscape.
Welcome to the Thirukkural API project!
This project provides a simple REST API to access Thirukkural verses, using a serverless function deployed on Vercel. Additionally, it includes a React-based frontend to display a random "Kural of the Day" and information about how to use the API.
- Kural of the Day: Displays a random Thirukkural verse with its meaning in multiple languages.
- REST API: A simple serverless API that returns requested Kural in JSON format.
- Modern Web Technology: Built using TypeScript, React, and Vercel's serverless architecture.
Make sure you have the following installed on your local machine:
- Node.js (version 20.x or higher)
- npm or yarn
- Vercel CLI (for deployment)
-
Clone the Repository
git clone https://github.com/nramc/thirukkural-api.git cd thirukkural-api
-
Install Dependencies
npm install or yarn install
-
Run the Project Locally
npm run dev
-
Your application will be available at http://localhost:3000
- /public/data/kurals.json: Contains the full list of Thirukkural verses in JSON format.
- /services/KuralService.ts: A service file that loads and retrieves Kurals.
- /api/kural/: A serverless function that returns a requested Kural as JSON.
- /api/daily/: A serverless function that returns a Kural of the day as JSON.
- /api/random/: A serverless function that returns a random Kural as JSON.
- /pages/index.tsx: The main React component for the homepage.
You can use the following endpoint to get Thirukkural of the day:
GET https://tamil-kural-api.vercel.app/api/daily
Example Response
{
"chapter": "கடவுள் வாழ்த்து",
"kural": [
"அகர முதல எழுத்தெல்லாம் ஆதி",
"பகவன் முதற்றே உலகு."
],
"number": 1,
"section": "அறத்துப்பால்",
"meaning": {
"ta_mu_va": "மு.வ : எழுத்துக்கள் எல்லாம் அகரத்தை அடிப்படையாக கொண்டிருக்கின்றன. அதுபோல உலகம் கடவுளை அடிப்படையாக கொண்டிருக்கிறது.",
"ta_salamon": "சாலமன் பாப்பையா : எழுத்துக்கள் எல்லாம் அகரத்தில் தொடங்குகின்றன; (அது போல) உலகம் கடவுளில் தொடங்குகிறது.",
"en": "As the letter A is the first of all letters, so the eternal God is first in the world."
}
}
You can use the following endpoint to get Thirukkural by kural id(1 <= id <= 1330):
GET https://tamil-kural-api.vercel.app/api/kural/{id}
Example
GET https://tamil-kural-api.vercel.app/api/kural/1
{
"chapter": "கடவுள் வாழ்த்து",
"kural": [
"அகர முதல எழுத்தெல்லாம் ஆதி",
"பகவன் முதற்றே உலகு."
],
"number": 1,
"section": "அறத்துப்பால்",
"meaning": {
"ta_mu_va": "மு.வ : எழுத்துக்கள் எல்லாம் அகரத்தை அடிப்படையாக கொண்டிருக்கின்றன. அதுபோல உலகம் கடவுளை அடிப்படையாக கொண்டிருக்கிறது.",
"ta_salamon": "சாலமன் பாப்பையா : எழுத்துக்கள் எல்லாம் அகரத்தில் தொடங்குகின்றன; (அது போல) உலகம் கடவுளில் தொடங்குகிறது.",
"en": "As the letter A is the first of all letters, so the eternal God is first in the world."
}
}
You can use the following endpoint to get random Thirukkural:
GET https://tamil-kural-api.vercel.app/api/random
Example Response
{
"chapter": "கடவுள் வாழ்த்து",
"kural": [
"அகர முதல எழுத்தெல்லாம் ஆதி",
"பகவன் முதற்றே உலகு."
],
"number": 1,
"section": "அறத்துப்பால்",
"meaning": {
"ta_mu_va": "மு.வ : எழுத்துக்கள் எல்லாம் அகரத்தை அடிப்படையாக கொண்டிருக்கின்றன. அதுபோல உலகம் கடவுளை அடிப்படையாக கொண்டிருக்கிறது.",
"ta_salamon": "சாலமன் பாப்பையா : எழுத்துக்கள் எல்லாம் அகரத்தில் தொடங்குகின்றன; (அது போல) உலகம் கடவுளில் தொடங்குகிறது.",
"en": "As the letter A is the first of all letters, so the eternal God is first in the world."
}
}
You can deploy this project on Vercel with the following steps:
-
Login to Vercel
vercel login
-
Deploy the Project
vercel
-
Follow the prompts to complete the deployment.
- React: For the frontend
- TypeScript: For type-safe code
- Vercel: For serverless deployment
- Node.js: Backend runtime for the serverless function
- Renovate: Automated dependency updates
Any contributions you make are greatly appreciated.
If you like the project and have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'feat: Add the AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is open-source and available under the MIT License.
Ramachandran Nellaiyappan Website | Twitter | E-Mail
Sincere Thanks to following open source community for their wonderful efforts to make our life much easier.
Give a ⭐️ if you like this project!
Enjoy using the Thirukkural API and spreading the wisdom of Thirukkural!