Skip to content

Social school media application where school-related information and questions can be shared

Notifications You must be signed in to change notification settings

murat-dayan/LessOnline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LessOnline

This project is an Android application where teachers can share posts, students can comment on them, and teachers can initiate private messaging with students under specific conditions. The app also includes a chatbot feature that answers user questions related to the app.

Features

1. Post Sharing

  • Only teachers can share posts.
  • Posts are stored using Firebase Firestore and Firebase Storage.
  • Posts can be liked and saved by users.

2. Comments

  • Students can comment on teachers' posts.
  • Teachers can view comments on their posts.
  • Teachers can initiate private discussions with students through a "Discuss" button.

3. Private Messaging

  • Teachers can start private conversations with students who comment on their posts.
  • Messaging functionality is developed as a separate module.
  • Students can only reply to a teacher's message after the teacher starts the conversation.

4. Chatbot Module

  • The chatbot answers app-related user questions.
  • User data is fetched from Firebase.
  • Integrated with Google Generative AI via a JSON-based API.

Project Screenshots

Here are the screenshots of the application, grouped in rows of three for better readability.


Login,Register, User Save and Forget Password Pages

Login Register Save User Forget Password

Home, Search,Notifications, Profile, Saved Posts Pages

Home Comments Search Notifications Profile Sign out Saved Posts

Post Sharing Pages

Reports Chat Feature Teacher Dashboard User Guide

Chatting

Miscellaneous 1 Miscellaneous 2

Chatbot

Saved Posts

Technical Details

Technologies and Libraries

  • Language: Kotlin
  • Architecture: MVVM (Model-View-ViewModel)
  • Firebase: Firestore, Authentication, Storage
  • Hilt: For dependency injection
  • RecyclerView: For listing posts and comments
  • StateFlow: For managing data flows
  • android-image-cropper: For image cropping
  • AdMob: For ad integration
  • Retrofit: For a chatbot api

Role Management

  • User roles are managed using a Role enum class (Teacher and Student).
  • Only users with the teacher role can share posts.

Structure

  • App: Home features
  • ChatModule: Manages teacher-student messaging.
  • ChatbotModule: Handles chatbot questions and answers.

Setup

  1. Clone the repository:
    git clone https://github.com/murat-dayan/LessOnline.git
    cd lessonline

About

Social school media application where school-related information and questions can be shared

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages