A modern, responsive FAQ system built with React, TypeScript, and Tailwind CSS. This application provides a beautiful interface for managing and displaying frequently asked questions about Sakeenah Arabic Institute's programs and services, complete with an admin panel and AI-powered question answering capabilities using Google's Gemini API.
Check out the live demo: Sakeenah Arabic Institute FAQ System
Before you begin, ensure you have:
Clone the repository:
git clone https://github.com/yourusername/sakeenah-faq-system.git
cd sakeenah-faq-system
Install dependencies:
npm install
Create a .env
file in the root directory:
VITE_GEMINI_MODEL=gemini-pro
VITE_GEMINI_KEY=your_gemini_api_key
VITE_INSTITUTION_NAME="Site Name"
VITE_INSTITUTION_URL="https://example.com"
Start the development server:
npm run dev
Variable | Description | Required |
---|---|---|
VITE_GEMINI_MODEL |
Gemini AI model for Q&A | Yes |
VITE_GEMINI_KEY |
Your Gemini API key | Yes |
VITE_INSTITUTION_NAME |
Institution name | Yes |
VITE_INSTITUTION_URL |
Institution website URL | Yes |
āāā src/
ā āāā components/ # Reusable UI components
ā āāā contexts/ # React context providers
ā āāā pages/ # Page components
ā āāā types/ # TypeScript definitions
ā āāā db.json # FAQ data store
āāā public/ # Static assets
āāā ...
Access the admin panel at /setup
:
[email protected]
password
ā ļø Important: Change these credentials before deploying to production!
The system uses a static JSON file (src/db.json
) for content storage, making it:
Modify tailwind.config.js
to customize:
The db.json
schema:
{
"faqs": [
{
"id": "string",
"question": "string",
"answer": "string",
"category": "string",
"relatedIds": ["string"],
"createdAt": "string",
"updatedAt": "string"
}
]
}
This project is licensed under the MIT License - see the LICENSE file for details.
Built with:
For questions or support: