Vidya Setu is a comprehensive digital platform designed to empower students, faculty, and administrators in managing academic portfolios, achievements, and institutional accreditation processes. The platform serves as a bridge (ΰ€Έΰ₯ΰ€€ΰ₯) between students' accomplishments and institutional compliance requirements (NAAC, NIRF, NBA, etc.).
- π Digital Portfolio Management - Showcase academic achievements, certifications, and projects
- π Competition & Achievement Tracking - Document participation in hackathons, contests, and awards
- π Document Management - Upload and organize academic certificates and credentials
- π€ Profile Management - Maintain comprehensive student profiles with academic history
- π Secure Authentication - JWT-based secure login system
- π€ AI-Powered Chatbot Assistant - Multilingual chatbot with intelligent responses, user-friendly options, and instant help
- π₯ Student Monitoring - Track and review student achievements and submissions
- β Document Verification - Review and approve student-uploaded certificates
- π Analytics Dashboard - View departmental statistics and student performance metrics
- π Search & Filter - Advanced search capabilities for student data
- π Student Data Export - Generate reports and export student information
- π Compliance Reporting - Generate NAAC, NIRF, NBA, and other accreditation reports
- π¨βπΌ User Management - Manage students, faculty, and admin accounts
- π Advanced Analytics - Institutional-level dashboards and insights
- βοΈ System Configuration - Configure platform settings and access controls
- π Report Generation - Automated report creation for various compliance frameworks
- React 18.2 - Modern UI library
- Vite 7.1 - Next-generation frontend tooling
- TailwindCSS 4.1 - Utility-first CSS framework
- React Router 7.8 - Client-side routing
- Axios - HTTP client
- Recharts - Data visualization
- Lucide React - Modern icon library
- React Icons - Comprehensive icon set
- Botpress Chatbot - Integrated multilingual AI chatbot for user assistance
- Node.js - Runtime environment
- Express 5.1 - Web application framework
- MongoDB - NoSQL database
- Mongoose 8.18 - MongoDB object modeling
- JWT (jsonwebtoken) - Authentication
- bcrypt 6.0 - Password hashing
- dotenv - Environment variable management
- CORS - Cross-origin resource sharing
- Node.js (v18 or higher)
- MongoDB (local installation or MongoDB Atlas account)
- npm or yarn package manager
git clone https://github.com/N1KH1LT0X1N/ggw-vidyasetu.git
cd ggw-vidyasetu# Install frontend dependencies
npm install- Copy the environment template:
cp .env.example .env- Edit
.envand configure:
VITE_API_BASE_URL=http://localhost:5000- Navigate to backend directory and copy template:
cd backend
cp .env.example .env- Edit
backend/.envwith your configuration:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secure_jwt_secret_key
PORT=5000
NODE_ENV=development
ALLOWED_ORIGINS=http://localhost:5173,http://localhost:3001Important:
- Generate a strong JWT secret (minimum 32 characters)
- Use MongoDB Atlas or local MongoDB instance
- Never commit
.envfiles to version control
# From the backend directory
cd backend
node server.jsServer will run on http://localhost:5000
# From the root directory
npm run devFrontend will run on http://localhost:5173
npm run build
npm run previewggw-vidyasetu/
βββ backend/
β βββ models/ # MongoDB schemas
β β βββ Student.js
β β βββ faculty.js
β β βββ Admin.js
β βββ routes/ # API routes
β β βββ auth.js
β β βββ facultyAuth.js
β βββ server.js # Express server setup
β βββ seedData.js # Database seeding script
β βββ .env.example # Environment template
βββ src/
β βββ components/ # Reusable React components
β βββ assets/ # Images and static files
β βββ styles/ # CSS stylesheets
β βββ data/ # Static data files
β βββ App.jsx # Main app component
β βββ main.jsx # Entry point
βββ android/ # Android app configuration
βββ index.html # HTML template
βββ vite.config.js # Vite configuration
βββ package.json # Dependencies
βββ README.md # This file
After seeding the database, you can use these test credentials:
- Student ID:
202400000001 - Password:
Password123!
- Faculty ID: Check
backend/seedData.jsfor current credentials - Password: Check
backend/seedData.jsfor current credentials
cd backend
node seedData.jsThis will populate your database with sample students, faculty, and admin accounts for testing.
- JWT-based authentication with token expiration
- Password hashing using bcrypt (10 salt rounds)
- Protected API routes with middleware authentication
- CORS configuration for allowed origins
- Input validation for all user inputs
- Secure password requirements
- Git pre-commit hooks - Prevents accidental commit of
.envfiles and sensitive credentials
The repository includes pre-commit hooks that automatically prevent you from committing sensitive information:
Setup the hooks (one-time):
# Windows PowerShell
.\setup-git-hooks.ps1
# Linux/macOS/Git Bash
./setup-git-hooks.shWhat's protected:
- β Blocks commits containing
.envfiles - β Blocks commits with MongoDB connection strings containing credentials
β οΈ Warns about potential hardcoded passwords/secrets
Testing the hook:
git add backend/.env
git commit -m "test"
# Will block with an error messageSee .git/hooks/README.md for more details.
The platform features an integrated multilingual AI-powered chatbot built with Botpress that provides:
- 24/7 Availability - Instant assistance anytime users need help
- Multilingual Support - Communicate in multiple Indian and international languages
- Interactive Options - Easy-to-use menu-driven interface for common queries
- Intelligent Responses - Context-aware answers to student, faculty, and admin questions
- Guided Navigation - Help users find features and complete tasks efficiently
- FAQ Integration - Quick answers to frequently asked questions about the platform
The chatbot assists with:
- Platform navigation and feature discovery
- Account setup and login issues
- Document upload guidance
- Report generation help
- General platform queries
- Technical support routing
- Students - Access portfolio management and document upload
- Faculty - Review student submissions and generate reports
- Administrators - Full system access and user management
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Developed by: Jash Thakkar and Team
Organization: GGW (Guru Gobind Singh Polytechnic)
Project: Smart India Hackathon 2024
For issues, questions, or contributions:
- Open an issue on GitHub
- Contact: Repository Owner
- Smart India Hackathon for the opportunity
- All contributors and team members
- Open-source community for the amazing tools and libraries
- Repository: https://github.com/N1KH1LT0X1N/ggw-vidyasetu
- Issues: Report a bug or request a feature
Made with β€οΈ for empowering education in India
