Skip to content

ravixalgorithm/collegestudy

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

HBTU College Study App

A comprehensive study platform for HBTU B.Tech students across 13 branches, 4 years, and 8 semesters.

๐ŸŽฏ Project Overview

  • Mobile App: React Native (Expo SDK 54) - Cross-platform iOS/Android
  • Admin Dashboard: Next.js 15 - Modern web-based content management
  • Backend: Supabase (PostgreSQL, Auth, Storage)
  • Target Users: HBTU B.Tech students (all branches and years)

โœจ Current Status

โœ… Fully Functional & Ready to Use!

  • โœ… Authentication system with Email OTP
  • โœ… Admin dashboard with full CRUD operations
  • โœ… Notes upload and management
  • โœ… Events creation and management
  • โœ… User management system
  • โœ… Mobile app with tab navigation
  • โœ… Profile setup and onboarding
  • โœ… Row Level Security (RLS) configured
  • โœ… File storage integration

๐Ÿ—๏ธ Architecture

collegestudy/
โ”œโ”€โ”€ mobile-app/          # Expo React Native app
โ”œโ”€โ”€ admin-dashboard/     # Next.js admin panel
โ”œโ”€โ”€ supabase/           # Database schema, migrations, RLS policies
โ””โ”€โ”€ docs/               # Documentation, mockups, specs

โœจ Core Features

Student App

  • Authentication: Email + OTP (Supabase Auth)
  • Notes & Resources: Branch/semester-specific study materials
  • Timetable: Personalized class schedules
  • Events & Notices: College announcements and activities
  • CGPA Calculator: Grade tracking with downloadable cards
  • Opportunities: Jobs, internships, scholarships
  • Forum: Q&A for doubt clearing
  • Profile Management: Downloadable profile cards

Admin Dashboard

  • Content management (notes, timetable, events)
  • Forum moderation
  • Student analytics
  • Opportunity posting
  • Exam schedule management

๐Ÿš€ Tech Stack

Component Technology Purpose
Mobile React Native (Expo SDK 54) Cross-platform app
Web Admin Next.js 15 Admin dashboard
Database Supabase PostgreSQL Data storage
Auth Supabase Auth Email OTP authentication
Storage Supabase Storage File hosting (notes, images)
API Supabase Edge Functions Serverless backend
Notifications Expo Notifications Push notifications

๐Ÿ“Š Database Schema

Core Tables

  • users - Student profiles
  • branches - 13 HBTU branches
  • subjects - Branch/semester subjects
  • notes - Study materials
  • timetable - Class schedules
  • exam_schedule - Exam dates
  • events - College events
  • announcements - Notices
  • opportunities - Jobs/internships
  • forum_posts - Q&A discussions

๐ŸŽจ HBTU Branches Supported

  1. Computer Science & Engineering (CSE)
  2. Information Technology (IT)
  3. Electronics Engineering (ET)
  4. Electrical Engineering (EE)
  5. Mechanical Engineering (ME)
  6. Civil Engineering (CE)
  7. Chemical Engineering (CHE)
  8. Paint Technology (PT)
  9. Plastic Technology (PL)
  10. Oil Technology (OT)
  11. Leather & Fashion Technology (LFT)
  12. Biochemical Engineering (BE)
  13. Food Technology (FT)

๐Ÿš€ Quick Start (5 Minutes)

Prerequisites

  • Node.js 18+
  • Expo CLI: npm install -g expo-cli
  • Supabase account (free): supabase.com

Setup Steps

1. Clone & Install

git clone https://github.com/yourusername/collegestudy.git
cd collegestudy

2. Supabase Setup

  • Create new project at supabase.com
  • Run SQL: supabase/schema.sql
  • Run SQL: supabase/rls-policies.sql
  • Run SQL: fix_rls_policies.sql (Important!)
  • Create storage buckets: notes, posters, profiles (all public)
  • Copy Project URL and anon key

3. Admin Dashboard

cd admin-dashboard
npm install

# Create .env.local
echo "NEXT_PUBLIC_SUPABASE_URL=your-url-here" > .env.local
echo "NEXT_PUBLIC_SUPABASE_ANON_KEY=your-key-here" >> .env.local

npm run dev

Open http://localhost:3000 and create admin user.

4. Mobile App

cd mobile-app
npm install

# Create .env
echo "EXPO_PUBLIC_SUPABASE_URL=your-url-here" > .env
echo "EXPO_PUBLIC_SUPABASE_ANON_KEY=your-key-here" >> .env

npx expo start

Scan QR code with Expo Go app!

๐Ÿ“– Detailed Setup: See docs/SETUP_GUIDE.md for complete instructions.

๐Ÿ’ป Development

Admin Dashboard (Next.js)

cd admin-dashboard
npm run dev     # http://localhost:3000
npm run build   # Production build
npm start       # Production server

Features:

  • โœ… Notes upload with file storage
  • โœ… Events creation with poster upload
  • โœ… User management (view, admin toggle)
  • โœ… Forum moderation (coming soon)
  • โœ… Analytics dashboard
  • โœ… Timetable management (coming soon)

Mobile App (Expo/React Native)

cd mobile-app
npx expo start           # Development server
npx expo start --ios     # iOS simulator (Mac only)
npx expo start --android # Android emulator
npx expo start -c        # Clear cache

Features:

  • โœ… Email OTP authentication
  • โœ… Profile onboarding
  • โœ… Tab navigation (Home, Notes, Timetable, Events, Profile)
  • โœ… Branch/semester selection
  • ๐Ÿ”„ Notes browsing (in progress)
  • ๐Ÿ”„ Event listing (in progress)
  • ๐Ÿ”„ CGPA calculator (in progress)

๐Ÿšข Deployment

Mobile App

  • iOS: Submit to App Store via Expo EAS
  • Android: Submit to Play Store via Expo EAS

Admin Dashboard

  • Vercel: Connect GitHub repo for auto-deploy
  • Netlify: Alternative free hosting

Database

  • Supabase: Free tier (500MB database, 1GB storage)

๐Ÿ”’ Security

  • โœ… Row Level Security (RLS) on all tables
  • โœ… Admin-only content management
  • โœ… Email OTP authentication (no passwords)
  • โœ… Secure file storage with public URLs
  • โœ… Protected admin routes
  • โœ… User data isolation

๐Ÿ“ˆ Development Roadmap

โœ… Phase 1: Core Infrastructure (COMPLETE)

  • โœ… Database schema & migrations
  • โœ… Authentication system
  • โœ… Admin dashboard foundation
  • โœ… Mobile app navigation
  • โœ… File storage setup

๐Ÿšง Phase 2: Content Management (IN PROGRESS)

  • โœ… Notes upload/management
  • โœ… Events creation/editing
  • โœ… User management
  • ๐Ÿ”„ Timetable CRUD
  • ๐Ÿ”„ Opportunities management
  • ๐Ÿ”„ Forum moderation

๐Ÿ“‹ Phase 3: Student Features (UPCOMING)

  • ๐Ÿ“‹ Notes browsing & download
  • ๐Ÿ“‹ Event listing & RSVP
  • ๐Ÿ“‹ Timetable viewing
  • ๐Ÿ“‹ CGPA calculator
  • ๐Ÿ“‹ Forum Q&A
  • ๐Ÿ“‹ Profile management

๐Ÿ”ฎ Phase 4: Advanced Features (FUTURE)

  • Push notifications
  • AI study assistant
  • Analytics dashboard
  • Resume builder
  • Video lectures
  • Study groups

๐Ÿค Contributing

This is a student project for HBTU. Contributions welcome!

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

๐Ÿ“„ License

MIT License - See LICENSE file for details

๐Ÿ“‚ Project Structure

collegestudy/
โ”œโ”€โ”€ admin-dashboard/     # Next.js admin panel
โ”‚   โ”œโ”€โ”€ app/            # App router pages
โ”‚   โ”œโ”€โ”€ components/     # React components
โ”‚   โ””โ”€โ”€ lib/            # Supabase client
โ”œโ”€โ”€ mobile-app/         # Expo React Native app
โ”‚   โ”œโ”€โ”€ app/            # Expo router pages
โ”‚   โ””โ”€โ”€ src/            # Source files
โ”œโ”€โ”€ supabase/           # Database schema & policies
โ”œโ”€โ”€ docs/               # Documentation
โ””โ”€โ”€ README.md

๐Ÿค Contributing

This is a student project for HBTU. Contributions welcome!

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open Pull Request

๐Ÿ“„ License

MIT License - See LICENSE file for details

๐Ÿ‘ฅ Team

Built with โค๏ธ for HBTU B.Tech students

๐Ÿ“ž Support

  • ๐Ÿ“– Documentation: Check /docs folder
  • ๐Ÿ› Issues: Open GitHub issue
  • ๐Ÿ“ง Contact: [your-email@example.com]

Last Updated: December 2024
Version: 1.0.0 (MVP)
Status: โœ… Functional & Ready for Testing

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.1%
  • PLpgSQL 2.0%
  • Other 0.9%