Skip to content

The-code-is-secret/insight

Repository files navigation

IIITM Insight

A comprehensive platform for IIITM students offering academic resources, marketplace, community features, collaboration tools, and more.

🎯 Overview

IIITM Insight is a full-stack web application designed to enhance the academic and campus life experience for IIITM students. The platform provides a centralized hub for sharing notes, buying/selling items, connecting with peers, and accessing essential student tools.

✨ Key Features

πŸ“š Academic Resources

  • Notes Library - Upload, download, and share class notes
  • PYQ Bank - Access previous year question papers
  • Books Repository - Digital library of textbooks and references
  • Syllabus - Current syllabi for all courses

πŸ›’ Marketplace

  • Buy, sell, or rent items within campus
  • Categories: Books, Electronics, Furniture, Stationery
  • Secure transaction system with reviews
  • Chat with sellers directly

πŸ‘₯ Community & Social

  • Activity Feed - Campus-wide social feed
  • Blogs - Write and share technical/experience blogs
  • Events - Campus events calendar
  • Lost & Found - Report and claim lost items

⭐ Reviews & Ratings

  • Professor Reviews - Anonymous professor ratings
  • Course Reviews - Student feedback on courses
  • Detailed ratings on teaching quality, accessibility, grading

🀝 Collaboration

  • Study Groups - Form and join study groups
  • Project Partners - Find teammates for projects
  • Skill Exchange - Teach and learn from peers
  • Real-time chat within groups

πŸ› οΈ Student Tools

  • CGPA Calculator - Track and calculate grades
  • Attendance Tracker - Monitor attendance with alerts
  • Timetable Manager - Organize class schedules

πŸŽ“ Opportunities

  • Internships, workshops, competitions
  • Scholarship information
  • Career opportunities

πŸ” Search & Discovery

  • Full-text search across all content
  • Advanced filtering and sorting
  • Trending content suggestions

πŸ”” Notifications

  • Real-time notifications
  • Email digests
  • Customizable preferences

πŸ‘¨β€πŸ’Ό Admin Panel

  • User management
  • Content moderation
  • Analytics dashboard
  • System configuration

πŸ—οΈ Architecture

Technology Stack

Frontend:

  • React 18 with Hooks
  • Tailwind CSS for styling
  • React Router for navigation
  • Axios for API calls
  • Socket.io-client for real-time features
  • Redux/Zustand for state management

Backend:

  • Node.js with Express.js
  • PostgreSQL for relational data
  • MongoDB for activity feeds and logs
  • Redis for caching and sessions
  • Elasticsearch for search
  • Bull Queue for background jobs
  • Socket.io for real-time communication

Storage:

  • AWS S3 / GCP Cloud Storage for files
  • Local storage for development

Deployment:

  • Docker & Docker Compose
  • Nginx reverse proxy
  • AWS/GCP cloud infrastructure

πŸ“¦ Project Structure

iiitm-insight/
β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable components
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ services/      # API services
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom hooks
β”‚   β”‚   β”œβ”€β”€ context/       # React context
β”‚   β”‚   β”œβ”€β”€ utils/         # Utilities
β”‚   β”‚   └── App.jsx
β”‚   └── package.json
β”‚
β”œβ”€β”€ server/                 # Node.js backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ config/        # Configuration
β”‚   β”‚   β”œβ”€β”€ models/        # Database models
β”‚   β”‚   β”œβ”€β”€ controllers/   # Request handlers
β”‚   β”‚   β”œβ”€β”€ services/      # Business logic
β”‚   β”‚   β”œβ”€β”€ middleware/    # Express middleware
β”‚   β”‚   β”œβ”€β”€ routes/        # API routes
β”‚   β”‚   β”œβ”€β”€ utils/         # Utilities
β”‚   β”‚   └── server.js
β”‚   └── package.json
β”‚
β”œβ”€β”€ docker/                 # Docker configuration
β”‚   β”œβ”€β”€ docker-compose.yml
β”‚   β”œβ”€β”€ Dockerfile.client
β”‚   └── Dockerfile.server
β”‚
β”œβ”€β”€ docs/                   # Documentation
β”‚   β”œβ”€β”€ API.md
β”‚   β”œβ”€β”€ ARCHITECTURE.md
β”‚   └── DEPLOYMENT.md
β”‚
└── README.md

πŸš€ Getting Started

Prerequisites

  • Node.js >= 18.0.0
  • PostgreSQL >= 15
  • MongoDB >= 6
  • Redis >= 7
  • Docker (optional, for containerized setup)

Installation

Option 1: Local Development

  1. Clone the repository:
git clone https://github.com/your-org/iiitm-insight.git
cd iiitm-insight
  1. Setup Backend:
cd server
npm install
cp .env.example .env
# Edit .env with your configuration
npm run dev
  1. Setup Frontend:
cd client
npm install
cp .env.example .env
# Edit .env with your configuration
npm start

Option 2: Docker Setup

cd iiitm-insight
docker-compose up -d

Access the Application

Default Admin Credentials

Email: [email protected]
Password: Admin@123 (Change after first login!)

πŸ“– Documentation

πŸ§ͺ Testing

Backend:

cd server
npm test

Frontend:

cd client
npm test

πŸ”§ Development

Code Style

  • ESLint for linting
  • Prettier for formatting
  • Conventional commits

Git Workflow

  1. Create feature branch from develop
  2. Make changes and commit
  3. Push and create pull request
  4. Code review and merge

🚒 Deployment

Production Deployment

See Deployment Guide for detailed instructions.

Quick Deploy:

docker-compose -f docker-compose.prod.yml up -d

πŸ”’ Security

  • JWT-based authentication
  • Role-based access control
  • Rate limiting
  • Input validation and sanitization
  • SQL injection prevention
  • XSS protection
  • HTTPS enforcement in production

πŸ“Š Performance

  • Redis caching
  • Database indexing
  • Image optimization
  • Code splitting
  • Lazy loading
  • CDN for static assets

🀝 Contributing

We welcome contributions! Please see our Contributing Guide.

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a pull request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘₯ Team

IIITM Insight Development Team

  • Project Lead: [Name]
  • Backend Lead: [Name]
  • Frontend Lead: [Name]
  • UI/UX Designer: [Name]

πŸ“§ Contact

πŸ™ Acknowledgments

  • IIITM Faculty and Administration
  • All contributors and testers
  • Open source community

πŸ“ˆ Roadmap

  • Mobile app (React Native)
  • AI-powered content recommendations
  • Video lectures integration
  • Discussion forums
  • Alumni network
  • Job portal integration
  • Advanced analytics dashboard
  • Multi-language support

Made with ❀️ by IIITM Students, for IIITM Students

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages