Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

OpenLake/Smart-Insti-App

Repository files navigation

Smart Insti App

Login Page Home Page Admin Page

Overview

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.

Features

For Students

  • 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
  • Complaints & Feedback: Submit complaints and track their status

For Faculty

  • Profile Management: Manage professional profiles
  • Course Management: View assigned courses and students
  • Communication: Direct messaging with students and other faculty

For Administrators

  • 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
  • Complaints Management: View and update status of student complaints

Technology Stack

Backend

  • 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

Frontend

  • Flutter for cross-platform mobile application development
  • Provider pattern for state management
  • Custom UI components for consistent user experience

Project Structure

Backend

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

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

Installation

Prerequisites

  • Node.js (v14 or later)
  • MongoDB
  • Flutter SDK (v3.0 or later)
  • Android Studio or Xcode (for deployment)

Backend Setup

  1. Clone the repository:

    git clone https://github.com/amaydixit11/smart-insti-app.git
    cd smart-insti-app/backend
  2. Install dependencies:

    npm install
  3. Create a .env file based on .env.example with your configurations.

  4. Start the server:

    npm start

Frontend Setup

  1. Navigate to the frontend directory:

    cd ../frontend
  2. Install Flutter dependencies:

    flutter pub get
  3. Create an .env file.

  4. Run the application:

    flutter run

Contributing

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

About

A one-stop App for all institute related information and updates πŸ“±πŸ«

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /