A comprehensive React.js application designed to streamline management operations for educational institutions with Firebase backend services.
- Student Management: Complete student information system
- Faculty Management: Faculty profiles and assignments
- Course Management: Course creation and management
- Timetable Generation: Intelligent timetable generation with conflict detection
- Real-time Notifications: Firebase Cloud Messaging integration
- Role-based Access Control: Secure authentication system
- Modern UI: Built with React, TypeScript, and Tailwind CSS
- React 18 with TypeScript
- Vite for development and build
- Tailwind CSS for styling
- Wouter for routing
- React Hook Form with Zod validation
- TanStack Query for state management
- Express.js with TypeScript
- PostgreSQL with Drizzle ORM
- Firebase Authentication
- Firebase Firestore
- Session management
- Node.js 18+
- PostgreSQL database
- Firebase project
- Clone the repository:
git clone https://github.com/Ashitosh2004/EduManager.git
cd EduManager- Install dependencies:
npm install- Set up environment variables:
cp .env.example .envFill in your database and Firebase configuration in the .env file.
- Push database schema:
npm run db:push- Start development server:
npm run devThis project is optimized for Vercel deployment:
- Push your code to GitHub
- Connect your GitHub repository to Vercel
- Set up environment variables in Vercel dashboard
- Deploy automatically on push to main branch
Set these in your Vercel dashboard:
DATABASE_URL: PostgreSQL connection stringDIRECT_URL: PostgreSQL direct connection stringFIREBASE_API_KEY: Firebase API keyFIREBASE_AUTH_DOMAIN: Firebase auth domainFIREBASE_PROJECT_ID: Firebase project IDFIREBASE_STORAGE_BUCKET: Firebase storage bucketFIREBASE_MESSAGING_SENDER_ID: Firebase messaging sender IDFIREBASE_APP_ID: Firebase app IDSESSION_SECRET: Session secret key
npm run dev- Start development servernpm run build- Build for productionnpm run vercel-build- Build for Vercel deploymentnpm run start- Start production servernpm run check- TypeScript type checkingnpm run db:push- Push database schema
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── services/ # API services
│ │ ├── types/ # TypeScript type definitions
│ │ └── utils/ # Utility functions
│ └── index.html
├── server/ # Backend Express server
│ ├── index.ts # Server entry point
│ ├── routes.ts # API routes
│ ├── storage.ts # Data storage layer
│ └── vite.ts # Vite integration
├── shared/ # Shared types and schemas
└── dist/ # Build output
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and type checking
- Submit a pull request
MIT License - see LICENSE file for details