Smart Insti App is a comprehensive institute management application designed to streamline campus life for students, faculty, and administrators. The app provides a unified platform for managing various aspects of institutional operations including student profiles, faculty information, course management, mess menus, lost and found items, room allocations, timetables, and communication.
- Profile Management: View and edit personal profiles, skills, and achievements
- Timetable: Access and customize personal class schedules
- Mess Menu: View daily and weekly mess menus
- Room Vacancy: Check and apply for available rooms
- Lost and Found: Report lost items or claim found items
- Chat Room: Communicate with other students and faculty
- Broadcast Notifications: Receive important announcements
- Profile Management: Manage professional profiles
- Course Management: View assigned courses and students
- Communication: Direct messaging with students and other faculty
- Student Management: Add, view, and manage student information
- Faculty Management: Add, view, and manage faculty profiles
- Course Administration: Create and manage courses and assignments
- Mess Menu Management: Update and publish mess menus
- Room Allocation: Manage room assignments and vacancies
- Node.js with Express.js framework
- MongoDB database for data storage
- JWT for authentication
- Multer for file uploads
- Email service for OTP verification and notifications
- Flutter for cross-platform mobile application development
- Provider pattern for state management
- Custom UI components for consistent user experience
backend/
βββ app.js # Main application entry point
βββ bin/www # Server configuration
βββ config/ # Configuration files
βββ constants/ # Application constants
βββ database/ # Database connection setup
βββ middlewares/ # Custom middlewares
βββ models/ # Database models
βββ resources/ # API endpoints
βββ admin/
βββ auth/
βββ chatroom/
βββ faculty/
βββ lostAndFound/
βββ messMenu/
βββ rooms/
βββ student/
βββ timetable/
frontend/
βββ lib/
β βββ main.dart # Entry point
β βββ assets/ # Application assets
β βββ components/ # Reusable UI components
β βββ constants/ # Application constants
β βββ models/ # Data models
β βββ provider/ # State management
β βββ repositories/ # Data access layer
β βββ routes/ # Navigation routes
β βββ screens/ # UI screens
β β βββ admin/ # Admin-specific screens
β β βββ auth/ # Authentication screens
β β βββ user/ # User-facing screens
β βββ services/ # Application services
- Node.js (v14 or later)
- MongoDB
- Flutter SDK (v3.0 or later)
- Android Studio or Xcode (for deployment)
-
Clone the repository:
git clone https://github.com/amaydixit11/smart-insti-app.git cd smart-insti-app/backend
-
Install dependencies:
npm install
-
Create a
.env
file based on.env.example
with your configurations. -
Start the server:
npm start
-
Navigate to the frontend directory:
cd ../frontend
-
Install Flutter dependencies:
flutter pub get
-
Create an
.env
file. -
Run the application:
flutter run
- Fork the repository
- Create a feature branch (
git checkout -b feature/awesome-feature
) - Commit your changes (
git commit -m 'Add awesome feature'
) - Push to the branch (
git push origin feature/awesome-feature
) - Open a Pull Request