Skip to content

OpenLake/Smart-Insti-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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

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

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

No packages published

Contributors 11