Sahara is an integrated full-stack web platform designed to assist users with real-time support, AI-driven chatbot guidance, and curated resources. The application merges modern frontend, backend, and AI technologies with structured database support.
- π User Authentication & Role Management
- π Category-Based Resource Listings (Helplines, Support Groups, etc.)
- π€ Document-based AI Chatbot with NLP & Retrieval-Augmented Generation
- π¬ Chat History, Summarization, Feedback Tracking
- π Admin Dashboard for Resource & Success Story Management
- π§ Multi-language NLP Support (Optional)
| Layer | Technology |
|---|---|
| Frontend | Angular 17+, TypeScript, HTML/CSS |
| Backend | Spring Boot (Java 17), REST APIs |
| Chatbot | Python 3.10+, Flask/FastAPI + FAISS |
| Database | MySQL |
| DevOps | GitHub, Postman, Maven, npm |
Sahara/
βββ backend-springboot/ # Java Spring Boot APIs
βββ frontend-angular/ # Angular SPA
βββ chatbot-python/ # Python AI Microservice
βββ database/ # SQL schema and ER Diagram
β βββ schema.sql
β βββ er-diagram.png
βββ docs/ # Screenshots, architecture diagrams, postman collection
β βββ SCREENSHOTS/
βββ .gitignore
βββ README.md
π Here is the Entity Relationship Diagram used in the project:
graph TD; Angular[Client (Angular)] SpringBoot[Spring Boot Backend] PythonChatbot[Python Chatbot (Flask/FastAPI)] MySQL[(MySQL Database)]
Angular -->|REST API| SpringBoot
SpringBoot -->|REST API| PythonChatbot
SpringBoot --> MySQL
PythonChatbot --> MySQL
## π Getting Started
### π§ Prerequisites
Install the following tools on your system:
- Java 17+
- Maven
- Node.js 16+
- Angular CLI
- Python 3.10+
- MySQL Server
---
### π οΈ Backend β Spring Boot
```bash
cd backend-springboot
./mvnw spring-boot:run
π Update
application.propertieswith your local MySQL credentials.
cd frontend-angular
npm install
ng serveApp runs at: http://localhost:4200
cd chatbot-python
pip install -r requirements.txt
python app.pyAPI runs at: http://localhost:5000
CREATE DATABASE sahara;
-- Then run schema.sql in the database folder| View | Screenshot |
|---|---|
| Login | ![]() |
| Register | ![]() |
| Admin Panel | ![]() |
Ensure your image file names are lowercase and hyphenated for consistency.
- NLP-Powered Question Answering
- FAISS-Based Document Search
- Multi-Chunk Retrieval
- Summarized Response Generation
- Persistent Chat History
- Feedback Logging
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
- π§βπ» LinkedIn: Rohit Salve
- π» GitHub: @RohitSalv
- βοΈ Email: salver814@gmail.com



