Skip to content

Ashitosh2004/Curriflex

Repository files navigation

πŸ“š Curriflex

Intelligent Timetable Management System

Automatically generate 100% conflict-free academic schedules with minimal effort

Made with React TypeScript Firebase Tailwind CSS

Curriflex Banner

Features β€’ Demo β€’ Installation β€’ Usage β€’ Tech Stack


🌟 Why Curriflex?

Stop wasting hours on manual timetable creation! Curriflex uses intelligent algorithms to generate perfect schedules in seconds, eliminating conflicts and optimizing resource allocation.

🎯 Smart πŸš€ Fast πŸ’Ž Beautiful πŸ”§ Flexible
AI-powered scheduling Generate in seconds Modern glass UI Fully customizable

✨ Features

🎯 Core Capabilities

πŸ€– Smart Auto-Generation

  • βœ… Conflict-free scheduling using advanced algorithms
  • βœ… Unique daily schedules with prime number distribution
  • βœ… Real-time conflict detection
  • βœ… Optimal resource allocation

πŸ“Š Complete Management

  • βœ… Department & Year organization
  • βœ… Faculty workload tracking
  • βœ… Subject management (Theory/Lab/Practical)
  • βœ… Room & laboratory allocation

πŸ“„ Professional Exports

Format Features
πŸ“• PDF Single-page landscape β€’ Orange theme β€’ Logo integration β€’ Dark borders
πŸ“— Excel Professional formatting β€’ Multi-line cells β€’ Orange headers β€’ Auto-width columns

🎨 Modern UI/UX

✨ Liquid Glass Effects     πŸŒ“ Animated Theme Toggle
🎭 Smooth Animations        🎨 Professional Dark Theme
πŸ“± Fully Responsive         ✍️ Poppins Typography

πŸš€ Quick Start

Prerequisites

Node.js 18+  β€’  npm/yarn  β€’  Firebase Account

Installation

# 1️⃣ Clone the repository
git clone https://github.com/Ashitosh2004/Curriflex.git
cd curriflex

# 2️⃣ Install dependencies
npm install

# 3️⃣ Configure Firebase
# Create .env.local with your Firebase credentials
cp .env.example .env.local

# 4️⃣ Start development server
npm run dev

# 5️⃣ Open browser
# Navigate to http://localhost:5173

πŸ”₯ Firebase Configuration

Create .env.local in the root directory:

VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id

πŸ“– Usage Guide

🎬 Getting Started in 3 Steps

graph LR
    A[βš™οΈ Configure Settings] --> B[πŸ“ Add Data]
    B --> C[🎯 Generate Timetable]
    C --> D[πŸ’Ύ Save & Export]
Loading
πŸ“‹ Step 1: Initial Setup
  1. Navigate to Settings page
  2. Select institution type (School/College/University)
  3. Configure time slots and working days
  4. Set break and lunch periods
πŸ“ Step 2: Add Your Data
Order Page What to Add
1️⃣ Departments Add departments with names and years
2️⃣ Faculty Add faculty members
3️⃣ Subjects Add subjects with codes and hours
4️⃣ Rooms Add classrooms and labs
5️⃣ Subject Allocation Assign subjects to faculty
🎯 Step 3: Generate Timetable
  1. Go to Timetable page
  2. Select department and year
  3. Click "Generate Timetable"
  4. Review the generated schedule
  5. Save or Export (PDF/Excel)

πŸ› οΈ Tech Stack

Frontend

React TypeScript Vite Tailwind

Backend & Database

Firebase Firestore

Libraries

Radix UI Lucide


πŸ“ Project Structure

curriflex/
β”œβ”€β”€ πŸ“‚ public/              # Static assets
β”‚   β”œβ”€β”€ πŸ–ΌοΈ logo.png         # App logo
β”‚   └── πŸ€– robots.txt       # SEO config
β”œβ”€β”€ πŸ“‚ src/
β”‚   β”œβ”€β”€ πŸ“‚ components/      # Reusable components
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ ui/         # UI library
β”‚   β”‚   β”œβ”€β”€ Layout.tsx     # Main layout
β”‚   β”‚   └── ThemeToggle.tsx # Theme switcher
β”‚   β”œβ”€β”€ πŸ“‚ contexts/       # React contexts
β”‚   β”œβ”€β”€ πŸ“‚ lib/            # Utilities
β”‚   β”œβ”€β”€ πŸ“‚ pages/          # Page components
β”‚   β”œβ”€β”€ πŸ“‚ utils/          # Helper functions
β”‚   β”‚   └── timetableGenerator.ts # Core algorithm
β”‚   └── πŸ“‚ types/          # TypeScript types
β”œβ”€β”€ βš™οΈ vite.config.ts       # Vite config
β”œβ”€β”€ 🎨 tailwind.config.ts   # Tailwind config
└── πŸ“¦ package.json         # Dependencies

🎨 Design System

Color Palette

β˜€οΈ Light Mode

Primary: #FF8C00 (Orange)
Background: #FFFFFF (White)
Text: #1A1A1A (Dark Gray)

πŸŒ™ Dark Mode

Primary: #3B82F6 (Blue)
Background: #1A202E (Slate)
Accent: #06B6D4 (Cyan)

Typography

Font Family: Poppins
Weights: 300, 400, 500, 600, 700, 800

πŸ”§ Configuration

Time Slots

Configure in Time Config page:

  • ⏰ Start and end times
  • β˜• Break periods
  • 🍽️ Lunch periods
  • πŸ“… Working days

Firebase Security Rules

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

πŸ“Š Database Schema

Collection Description
🏒 departments Department information
πŸ‘¨β€πŸ« faculty Faculty members
πŸ“š subjects Subject definitions
πŸšͺ rooms Room/lab information
πŸ‘¨β€πŸŽ“ students Student records
πŸ”— subjectAllocations Faculty-subject assignments
⏱️ timeConfig Time slot configuration
πŸ“… timetables Generated timetables

🀝 Contributing

We welcome contributions! Here's how:

# 1. Fork the repository
# 2. Create your feature branch
git checkout -b feature/AmazingFeature

# 3. Commit your changes
git commit -m 'Add some AmazingFeature'

# 4. Push to the branch
git push origin feature/AmazingFeature

# 5. Open a Pull Request

πŸ“ License

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


🌟 Acknowledgments

Built with amazing open-source projects

React β€’ TypeScript β€’ Firebase β€’ Tailwind CSS β€’ Radix UI β€’ Lucide Icons


πŸ“§ Support & Contact

Need help? We're here for you!

πŸ“§ Email: support@curriflex.com
πŸ› Issues: GitHub Issues
πŸ’¬ Discussions: GitHub Discussions


πŸ”„ Version History

πŸŽ‰ v1.0.0 - Current Release

✨ What's New
  • βœ… Smart timetable generation with unique daily schedules
  • βœ… Professional PDF and Excel exports with logo
  • βœ… Modern UI with liquid glass effects
  • βœ… Animated sun/moon theme toggle
  • βœ… Professional slate-blue dark theme
  • βœ… Complete CRUD operations for all entities
  • βœ… Firebase Firestore integration
  • βœ… Fully responsive design
  • βœ… Poppins typography
  • βœ… Blue/cyan color scheme for dark mode

πŸ’ Made with Love for Educational Institutions

⭐ Star this repo if you find it helpful!

GitHub stars GitHub forks


Β© 2026 Curriflex Team. All rights reserved.

⬆ Back to Top

About

πŸŽ“ Intelligent Timetable Management System - Auto-generate conflict-free academic schedules with modern UI, PDF/Excel export, and Firebase integration

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages