An open API service indexing awesome lists of open source software.

https://github.com/mohitgupta121/ipsians-diary


https://github.com/mohitgupta121/ipsians-diary

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# **IPSians Diary**

[![Codacy Badge](https://app.codacy.com/project/badge/Grade/de806932130d4ee7a70dd8f549ed4d47)](https://www.codacy.com/gh/collegeconnect/CollegeConnect?utm_source=github.com&utm_medium=referral&utm_content=collegeconnect/CollegeConnect&utm_campaign=Badge_Grade)
[![Actions Status](https://github.com/collegeconnect/CollegeConnect/workflows/build/badge.svg)](https://github.com/collegeconnect/CollegeConnect/actions)
[![License Badge](https://img.shields.io/badge/license-Apache%202.0-blue)](https://github.com/sakshampruthi/CollegeConnect/blob/versionTwo/LICENSE)
[![Gitter](https://badges.gitter.im/CollegeConnect/discussion.svg)](https://gitter.im/CollegeConnect/discussion?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
![Api Level](https://img.shields.io/badge/Min%20API%20Level-24-important)

IPSians Diary is an android application aimed to be a one-stop-shop for all the college needs irrespective of college and course.
It aims to create a helpful platform for all college students.
It uses Firebase and SQLite to store and display the information to the user.
The app uses Material UI for an attractive interface (subject to improvement) which attracts the user to stay on the app for more time.

The app is developed using native android(Java and Kotlin both) and follows MVVM architecture. It is tightly coupled as it was developed as a project to learn Android Development.

### Attendence Manager
The app has an integrated **Attendance Manager** which uses Room Library and SQLite Database to store and retrieve data and display it in a graphical manner which looks appealing and convenient to track your attendance.

### Notes
The Notes tab provides notes uploaded by students. The recycler view shows the name of the author with a total number of downloads and relevant tags.

#### _Upload Notes and My Files_
The upload notes area provide for easy upload of notes by users. It takes the authors name to give credit to the author.

The number of downloads will encourage students to make more impressive notes and create a sense of healthy competition.

The My Files section enables easy management of the notes uploaded by the users as well as the notes downloaded by the user.

### Timetable
This feature allows the user to store their timetable in an ingenious and orderly fashion. It also indicates the current ongoing class.
It requires the user to enter the class details consisting of subject name, start time, end time and the room number. We're constantly working on to make this feature more interactive and seamless.

### Tools

* _Upcoming Events_

It shows the upcoming events around you and their details along with an option to register from within the application.
* _Project Collaboration_

This tool help to procreate a platform where different developers can come and work together on any projects. Just list your project and get collaborators. This feature is currently under development.

### Settings
* View and edit personal profile details
* View downloaded files
* View uploaded files
* View and edit professional profile


# Package Structure

com.mohit.ipsians_diary # Root Package
.
├── data # For data handling.
| ├── local # Room DB and its related classes
| ├── remote # Firebase, HarperDB and their relative classes
│ ├── model # Model data classes, both remote and local entities
│ └── repo # Single source of data.
|
├── di # Dependency Injection
│ └── module # DI Modules
|
├── ui # UI/View layer
| ├── adapters # All Adapters, viewholder and diffUtils for recyclerViews
│ ├── auth # Authorization Activity and its fragments
│ ├── mainScreen # Home Activity and its fragments
| ├── addTaskScreen # Add Task Activity and its fragments
| ├── onBoarding # OnboardingScreen
│ └── splashScreen # SplashScreen
|
├── service # Timer Service and its related classes
|
└── utils # Utility Classes / Kotlin extensions

## Architecture
This app uses [***MVVM (Model View View-Model)***](https://developer.android.com/jetpack/docs/guide#recommended-app-arch) architecture.

![](https://developer.android.com/topic/libraries/architecture/images/final-architecture.png)

---
## License

This project is currently licensed under the Apache License Version 2.0. A copy of [LICENSE](LICENSE) should be present along with the source code.

## Maintainers and Developers
This repository is owned and maintained by
* [Mohit Gupta](https://github.com/mohitgupta121)