eduJam is an university app, which will help you with all of your university work*

Overview

eduJam - Your one-stop to any university work

eduJam is an university app, which will help you with all of your university work. It has features which allow you to see the syllabus for the ongoing semester, weekly, academic and holiday time-table, to-do list, recent video lectures with respectives notes in a pdf form. We also have Fill my Cycle feature which helps in making the index for students under 2 minutes. The app also includes a forum where all students can have a talk about any doubts. To use eduJam, You will need a eduJam account* first, which you are going to use in this app.

Note: Currently eduJam is specifically for TCET students only.

Problem Statement:

Many issues have been occurred for students while learning online over time, whether it is a lack of effective communication between teachers and us or a lack of a proper one-stop for all of their work. One of the challenges we face every day is to find lecture notes to study from, for the exams. The FAQ of a student is:- "Where is the zoom link?", "Whats the syllabus?", "Where are the recorded lectures?", are all solved by our application. It also makes bulky and boring tasks like making the indexes extremely easy.

Proposed Solution :

This project "eduJam" proposes “one-stop for all university needs” to keep track of the college activities and student's learning and provides all the information about all of the syllabus, and timing of lectures, the one app where you have everything college related. It's features include having content like recorded lectures, notes, and modules, amd a very simple and automated FillMyCycle feature. It accepts student data allowing them to register to the application. This application has forums which allows the students to communicate with each other and collaborate or solve each others doubts extremely fast. Currently the app works for 2024 batch TCET students only. The project's scope is to extend it for other year batch students to allow for wider use and more universal appeal

Screenshots

Demo Video

Click to go to youtube Demo Video

Functionality & Concepts used

  • The App has a very simple and interactive interface which helps the students in checking syllabus, notes, recent lectures etc. Following are few android concepts used to achieve the functionalities in app :

  • Relative Layout: it is used for making a Layout of some screens. It is easy to use since We need to make Elements relative to each other and its parent.

  • Card Layout: Since we need to display a list of to-do items in CardView. The system provides the CardView API as an easy way for you to show information inside cards that have a consistent look across the platform. These cards have a default elevation above their containing view group, so the system draws shadows below them.

  • Navigation Package: To allow users to do different activities to use different features of the app.

  • Navigation Component: Android Jetpack's Navigation component helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer. The Navigation component also ensures a consistent and predictable user experience by adhering to an established set of principles.

  • View Binding: ViewBinding is always null safe and type-safe. ViewBinding also helps to reduce the boilerplate code, hence reducing the code redundancy. Using ViewBinding the compilation of the code is a bit faster as compared to the traditional findViewById() method.

  • ViewModel: The ViewModel class is designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.

  • LiveData & Room Database: LiveData only updates app component observers that are in an active lifecycle state. We are using LiveData to update & observe any changes in the to-do list and update it to local databases using Room. Room database is also used to create, delete, read and update in local storage.

  • Firebase Authentication: Firebase email authentication is used to add email signup and login functionality to the app. Firebase sdk for Android has all relevant functionality needed to add it.

  • Firebase Firestore: It is used as a primary database for the app. It consists data of users, notifications and forum interactions.

  • Firebase Cloud Messaging: It is used to display notifications in the app. Firebase admin sdk is used to make an API for sending customized notifications with title and body.

  • Heroku: Heroku is used to host the REST API used to send notifications.

  • SharedPreferences: It is used to persist user login on device.

  • Lottie Animations: A Lottie is a JSON-based animation file format that enables designers to ship animations on any platform as easily as shipping static assets. They are small files that work on any device and can scale up or down without pixelation.

Application Link & Future Scope :

Talking about the usability of the app, you can try out beta version for now from here or here.

About the future usage of our app, we plan to make it accessibale to every student in our university. We are also thinking of collaborating with teachers and with neighboring colleges to propose this app idea and collaborate with them. We aim that once students will start using the app, we will be able to make it way better than what it is now. Also we have planned many features for are app so that it can be made more robust and user friendly.

Comments
  • Close Keyboard after sending feedback

    Close Keyboard after sending feedback

    In the feedback section , after the user clicks on submit feedback the keyboard remains open . The keyboard should gone after the user clicks on submit feedback.

    Hint: You can find the required function to close the keyboard from here: https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/extensions/FragmentExtensions.kt call this function in the required places in the following file: https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/fragments/FeedbackFragment.kt

    good first issue Beginner priority-3 
    opened by ishir21 12
  • Question/Reply count error

    Question/Reply count error

    In the forum if you ask a question or reply to a question , the number gets incremented in your profile . If the user deletes his/her question or reply the number gets decremented . The question/reply count goes below 0 if the user deletes more questions/replies than they asked.

    Hint: A simple conditional statement at the right place will solve this issue.

    Files to look into: https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/adapters/QuestionAdapter.kt https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/adapters/ReplyAdapter.kt

    bug Beginner 
    opened by ishir21 6
  • Alert builder in forum done

    Alert builder in forum done

    The alert builder is shown after login , when we open forum. The user cant click back to close the builder. If the user clicks cancel, it goes directly to home fragment. It will only show forum after "I accept" is clicked. The alert builder will not be shown again and again, only one time after login

    opened by anamansari062 0
  • EDIT feature in forum

    EDIT feature in forum

    We have a forum where users can communicate with each other. what we want is to have an edit feature so that the users can edit their answers/questions

    The following files might be useful for the same- https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/fragments/ForumFragment.kt Adapters: https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/adapters/QuestionAdapter.kt https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/adapters/ReplyAdapter.kt Data Modal: https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/dataModel/Question.kt https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/java/com/example/gdsc_hackathon/dataModel/Reply.kt

    Intermediate 
    opened by ishir21 0
  • Bug in Dark theme

    Bug in Dark theme

    A lot of things are not visible in dark mode.

    Possible solution : For now you can force white theme in the app since we don't have any immediate plans to add proper dark theme functionality . You can work on the following file to implement the same: https://github.com/CerritusCodersComm/eduJam/blob/main/app/src/main/res/values-night/themes.xml

    good first issue Beginner priority-1 
    opened by ishir21 0
  • Delete unnecessary files

    Delete unnecessary files

    There are many unnecessary and unused files that can be deleted Here are file locations for these files: https://github.com/cdhiraj40/eduJam/tree/main/app/src/main/java/com/example/gdsc_hackathon/fragments/syllabus/fourth_sem the folder is pretty much useless, there are sub folders, so delete one file from those folders and then create a PR

    Computer Graphics https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_graphics_module_five.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_graphics_module_four.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_graphics_module_one.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_graphics_module_six.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_graphics_module_three.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_graphics_module_two.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_graphics.xml

    Computer Network https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_networks.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_networks_module_five.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_networks_module_one.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_networks_module_six.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_networks_module_three.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_networks_module_two.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_computer_networks_module_four.xml

    Design Analysis of Algorithms https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_design_analysis_of_algorithms.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_design_analysis_of_algorithms_module_five.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_design_analysis_of_algorithms_module_one.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_design_analysis_of_algorithms_module_six.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_design_analysis_of_algorithms_module_three.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_design_analysis_of_algorithms_module_two.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_design_analysis_of_algorithms_module_four.xml

    Maths https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_maths.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_maths_module_five.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_maths_module_four.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_maths_module_six.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_maths_module_one.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_maths_module_three.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_maths_module_two.xml

    Operating System https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_operating_systems.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_operating_systems_module_five.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_operating_systems_module_one.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_operating_systems_module_six.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_operating_systems_module_two.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_operating_systems_module_three.xml https://github.com/cdhiraj40/eduJam/blob/main/app/src/main/res/layout/fragment_operating_systems_module_four.xml

    P.S. 1 This issue is for total beginners, if you know how to work on android please don't create a PR for these files PS. 2 Try to create one PR for one file

    good first issue Beginner priority-2 
    opened by cdhiraj40 9
Owner
Dhiraj Chauhan
CSE TCET'24 |Android Development | 3⭐ codechef | NIRMAAN HYPERLOOP
Dhiraj Chauhan
when you use restful api and network get disconnect you have to store your data local for make your app faster and work on ofline mode

AppArchitectureOflineMode when you use restful api and network get disconnect you have to store your data local for make your app faster and work on o

Kareem-Mansy 3 Jun 20, 2021
Sanctuary relies on the Android Work Profile APIs to create a self-contained work profile on a user's personal device.

Sanctuary relies on the Android Work Profile APIs to create a self-contained work profile on a user's personal device. Managed apps, data, and management policies are restricted to the work profile, keeping them secure and separate from personal data while maintaining user privacy.

Jonathan Odul 1 Dec 15, 2021
An Android app built with Kotlin, to help students at Kibabii University make monthly class welfare contributions

An Android app built with Kotlin, to help students at Kibabii University make monthly class welfare contributions. It is built with the MVVM pattern and the latest Jetpack components. Firebase as the backend

Joel Kanyi 21 Sep 24, 2022
A news application through which you can learn and browse all the news that interests you by choosing the country and type of news with the ability to browse and add some news to your favorites

MY-NEWS-Android A news application through which you can learn and browse all the news that interests you by choosing the country and type of news wit

Mahmoud ELramady 0 Nov 11, 2021
ICSx⁵ is an Android app to subscribe to remote or local iCalendar files (like time tables of your school/university or event files of your sports team).

ICSx⁵ ICSx⁵ is an Android app to subscribe to remote Webcal feeds / iCalendar files (like time tables of your school/university or event files of your

bitfire web engineering 60 Dec 28, 2022
Android-Study-Jams - An app which could help your fellow students or faculty or college

NOTIFY Problem Statement College or University App : An app which could help you

Shristi Sarma 1 Jan 10, 2022
Help-page-finder - Help page finder for android

help-page-finder This app allows to search for help articles on a website. It is

null 0 Feb 13, 2022
Don't know what to do next? Don't worry, NEG or NotEnoughGoals will give you some help by giving you some goals to achieve to make skyblock less boring.

NotEnoughGoals Don't know what to do next? Don't worry, NEG or NotEnoughGoals will give you some help by giving you some goals to achieve to make skyb

UpFault 0 Dec 26, 2021
An Android app for Dokuz Eylul University students can make use of multiple school websites in this one app

An Android app for Dokuz Eylul University students can make use of multiple school websites in this one app

Eyüb Salih Özdemir 3 Apr 13, 2022
AnimApp is an app that recommends you random anime and you can add it to your favourite if you like it.

papb-team6 AnimApp is an app that recommends you animes and you can add it to your favourite if you like it. Team members: Firdaus Bisma Suryakusuma (

Gilang Adhitama Putra 1 Mar 9, 2022
Android app that helps you keep track of the medical supplements you need to take and how you spend your days

Android app that helps you keep track of the medical supplements you need to take and how you spend your days, similar to a bullet journal. It also allows you to reflect on your day, week, year, etc.

Rachelle Hu 4 Nov 10, 2022
Taskify - An app to manage your daily tasks and boost your productivity. Taskify is built using kotlin and follows all modern android Development practices and hence is a good learning resource for beginners

Taskify Taskify is an app to manage your daily tasks and boost your productivity Video Introduction ?? This is a small introduction video about Taskif

Vaibhav Jaiswal 101 Jan 4, 2023
News-App - A news app Which displays news with the help of JSON data

News-App This is a news app Which displays news with the help of JSON data

Lalith Sharma 0 Feb 16, 2022
Jiangxi Normal University Android App

Awesome-Campus Jiangxi Normal University Android App 简介 师大+是江西师大Android客户端,包含课表、课程表桌面小部件、校内新闻、阅读资讯、快递查询、考试安排、成绩查询、图书借阅等功能模块。 它采用卡片式设计,遵循Material Desig

Danielding 119 Nov 10, 2022
Plannr is an organizational platform, in the form of an Android app, that helps university students coordinate their everyday routine, from schoolwork and expenses to their personal life.

Plannr Plannr is an organizational platform, in the form of an Android app, that helps university students coordinate their everyday routine, from sch

null 7 May 1, 2022
SkillHub - A location based native android app built for the University of Nigeria

SkillHub SkillHub is a location based native android app built for the Universit

Nnamani Chinonso   1 Jan 23, 2022
You can store all your password, bank details, card details in one place and remember only one master PIN. The application works totally offline.

Keep Password An application where you can store all your password, bank details, card details in one place and remember only one master PIN. The appl

rıdvan 4 Apr 18, 2022