eClass : Appwrite Hashnode Hackathon

eClass : Appwrite Hashnode Hackathon

Powered by

Team Details

Joysankar Majumdar

Description of the Project

eClass is an open-source alternative to Google Classroom. It is an Android application that provides class management features. Anyone can join the app and create his/her class and manage it. In this app, the admin can add multiple teachers to any class. The classes are actually teams in Appwrite Cloud. The admin can set permissions for any user. Through the Appwrite realtime, users of any specified class get instant notifications about any updates related to the class.

Tech Stack

  • Android

    • Sheets

    • AndroidPdfViewer

      It helps to render pdfs in the assignment section.

    • Coil-Kt

      It helps to load images with particular shapes in ImageView.

    • filepicker

      It helps to pick files from the internal storage.

    • Room Db

      It helps to store internal data and helps in notification management.

    • Frogo Notification

      It helps to create notifications.

    • Material 3

      The full app is based on the latest M3 design by Google to provide a great user experience.

  • Appwrite Cloud

    • Authentication

      It helps to create users and manage sessions in the app.

    • Databases

      It stores all the assignments, announcements and team data.

    • Storage

      It helps by storing all assignment files submitted by teachers in the class.

    • Realtime

      It helps to create a realtime notification system when any event occurs in the server it triggers a service in the android app.

    • Teams

      It is the main building block of the app. Team helps to create classes. The Team functionality helps to manage classes with proper permissions.

Challenges

  • Class management: The challenge was to build a complex system to manage classes with proper permissions but Appwrite had made it easy with Teams. Temas helps me to set up the class management system very easily.

Realtime notification: When teachers add any assignment or announcement a notification should be pushed to the students' app. This problem has been easily solved by Realtime by Appwrite.

Public Code Repo

https://github.com/JoyMajumdar2001/eClass

Demo

Download the app from here: https://github.com/JoyMajumdar2001/eClass/releases/tag/v1.0

App Overview

Authentication

Video demo :