Skip to content

Project PULSE (Platform for Unified Learning & Student Engagement) is an integrated educational platform designed to enhance the learning experience for students. With 14 comprehensive modules, PULSE offers solutions for attendance management, class scheduling, task organization, news dissemination, result analysis, personalized learning pathways,

Notifications You must be signed in to change notification settings

SiranjeeviK/project_pulse

Repository files navigation

Project PULSE

Table of Contents

  1. Introduction
  2. SOLID Principles
  3. Clean Architecture
  4. Flutter Packages
  5. BLoC Pattern
  6. Screenshots
  7. Installation
  8. Contributors

Project PULSE (Platform for Unified Learning & Student Engagement) is an integrated educational platform designed to enhance the learning experience for students. With 14 comprehensive modules (3 modules completed), PULSE offers solutions for attendance management, class scheduling, task organization, news dissemination, result analysis, personalized learning pathways, mental health support, interactive chatbot assistance, student feedback collection, collaborative forums, institutional resource access, expert editorials, and interactive hints. By prioritizing user experience and customization, PULSE aims to provide a seamless and engaging environment for students to excel academically, connect with peers, and access the resources they need to succeed. Through continuous improvement and innovation, PULSE strives to empower students in their educational journey.

Clean Architecture

S - Single Responsibility Principle

A class should have one, and only one, reason to change.

O - Open/Closed Principle

You should be able to extend a classes behavior, without modifying it.

L - Liskov Substitution Principle

Derived classes must be substitutable for their base classes.

I - Interface Segregation Principle

Make fine grained interfaces that are client specific.

D - Dependency Inversion Principle

Depend on abstractions, not on concretions.

1. Presentation

This layer contains UI, ViewModels, and Widgets. It is the outermost layer and is the most volatile layer

2. Domain

This layer contains Use Cases, Entities, and Repository Interfaces. It is the innermost layer and is the most stable layer

3. Data

This layer contains Data Sources, Models, and Repositories. It is the middle layer and is the most flexible layer

1. get_it

A simple Service Locator for Dart and Flutter projects with some additional goodies highly inspired by Splat. It can be used instead of InheritedWidget or Provider to access objects e.g. from your UI.

Dependency Injection

2. dartz

A library that helps you write better Dart code. It contains functional programming primitives, and additional utilities that makes working with Dart's core libraries more enjoyable.

3. flutter_bloc

A Flutter package that helps implement the BLoC (Business Logic Component) design pattern. It is a predictable state management library that helps implement the BLoC design pattern.

1. Bloc

The Bloc is a simple yet powerful state management library provided by the Flutter community. It helps implement the BLoC design pattern. It is a predictable state management library that helps implement the BLoC design pattern.

2. Event

Events are the input to a Bloc. They are added to the Bloc using the add method.

3. State

States are the output of a Bloc. The Bloc's state is updated by emitting a new state

4. BlocProvider

A Flutter widget that provides a bloc to its children via BlocProvider.of(context).

5. BlocBuilder

A Flutter widget that handles building the widget in response to new states. BlocBuilder handles building the widget in response to new states.

6. BlocListener

A Flutter widget that listens to state changes in a Bloc and calls a callback in response to state changes.

7. BlocConsumer

A Flutter widget that combines BlocListener and BlocBuilder and makes it easier to build widgets in response to new states.

I have added some screenshots of the app. I tried to mask the personal information in the screenshots. If you find any personal information, please let me know. I will remove it immediately.

Sign In Page Sign Up Page

2. Home

Homepage Student Homepage_drawer Homepage Faculty Class Schedule

Student Attendance Heatmap Student Attendance Heatmap 2 Main Attendance Class list Mark Attendance

Profile Page Database Page Faculty List

  1. Clone the repository

  2. Make sure you have Flutter installed on your machine

  3. Install the dependencies

    flutter pub get
  4. Add API Keys in \lib\core\secrets\app_secrets.dart file

    class AppSecrets {
        static const supabaseUrl = '';
        static const supabaseAnonKey ='';
    }
  5. Run the app

    flutter run
  1. Siranjeevi K

About

Project PULSE (Platform for Unified Learning & Student Engagement) is an integrated educational platform designed to enhance the learning experience for students. With 14 comprehensive modules, PULSE offers solutions for attendance management, class scheduling, task organization, news dissemination, result analysis, personalized learning pathways,

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published