Git Product home page Git Product logo

collegeconnect / collegeconnect Goto Github PK

View Code? Open in Web Editor NEW
112.0 9.0 67.0 7.61 MB

College Connect 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. The app uses Material UI for an attractive interface (subject to improvement) which attracts the user to stay on the app for more time and is available in both Light and Dark mode

Home Page: https://college-connect.netlify.app

License: Apache License 2.0

Java 64.56% Kotlin 33.63% HTML 1.81%
android java kotlin kotlin-android community-project open-source opensource android-application college college-students

collegeconnect's Introduction

College Connect

Codacy Badge Actions Status License Badge Gitter Api Level

Get it on Google Play

College Connect 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.

This idea was developed for Ideathon held in BVCOE, New Delhi where it was presented to be a college app for BVCOE, New Delhi

Later it was aimed to be a third party app for every college and course in India

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

  • Room Locator
    The room locator tab implements the room locator build by the DSC BVP team. Currently, it only works for BVCOE, New Delhi but we plan to expand it using the help of a wide network of DSCs present all over India
  • 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

Contributions Best Practices

For first time Contributors

First-time contributors can read CONTRIBUTING.md file for help regarding creating issues and sending pull requests.

Branch Policy

We have the following branches

  • development
    All development goes on in this branch. If you're making a contribution, you are supposed to make a pull request to development. For PRs to be accepted to the development branch they must pass a build check and a unit-test check following which an apk will be generated under action artifacts for testing.
  • master
    This contains shipped code. After significant features/bugfixes are accumulated on development, we make a version update and make a release.

Code practices

Please help us follow the best practices to make it easy for the reviewer as well as the contributor. We want to focus on the code quality more than on managing pull request ethics.

  • Single commit per pull request
  • Reference the issue numbers in the commit message. Follow the pattern Fixes #
  • Follow uniform design practices. The design language must be consistent throughout the app.
  • The pull request will not get merged until and unless the commits are squashed. In case there are multiple commits on the PR, the commit author needs to squash them and not the maintainers cherrypicking and merging squashes.
  • If the PR is related to any front end change, please attach relevant screenshots in the pull request description.

Join the development

  • Before you join the development, please set up the project on your local machine, run it and go through the application completely. Press on any button you can find and see where it leads to. Explore. (Don't worry ... Nothing will happen to the app or to you due to the exploring ๐Ÿ˜‰ You'll be more familiar with what is where and might even get some cool ideas on how to improve various aspects of the app.)
  • If you would like to work on an issue, drop in a comment at the issue. If it is already assigned to someone, but there is no sign of any work being done, please free to drop in a comment so that the issue can be assigned to you if the previous assignee has dropped it entirely.

License

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

Maintainers and Developers

This repository is owned and maintained by

collegeconnect's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

collegeconnect's Issues

Upload work profile to database

Upload the details of the user's work profile to the database. The layout for work profile has already been made in the WorkOne and WorkTwo fragments

Improve time table feature

The current time table is very basic and outdated. We have an idea of a new time table feature wherein the user is asked to enter their schedule for a particular day with details such as subject name, time, duration, etc.
After this the user will get a notification at the end of their each class to mark their attendance.

New features proposal

Comment here if you have a new feature in mind.
Describe your feature in detail.
After the approval of the project maintainers you can create a new issue and start working on it

New Edit Profile Interface

Design the Edit Profile section in the Settings Menu as per the design attached.
Interested people can message us here and we'll mail you the necessary drawable files
WhatsApp Image 2020-10-08 at 21 08 08

Add college field in Step 2/2 of SignUp

Add a field to input the name of college from user in the StepTwoSignUp activity and make the necessary changes in User model class so that college name is also uploaded to the database

Encryption of User data

Encrypt profile details that are uploaded or stored on firebase so that only user can access these details

Edit your attendace

Add the capability of editing the attendance of a particular subject i.e. the number of missed and the number of attended classes for that particular subject. After that the overall attendance should be calculated again automatically and update the attendance at the home page.

Time based notification system for attendance

Implement a time-based notification system for attendance by scheduling notification at the end of class, reminding the user to mark their attendance in the app. Details such as subject name and end time are stored in the timetable database.

Make the interface for Project Collaboration feature

Project Collaboration:
Under this feature users can enlist their project if they need any help with it by uploading details(Project name, Description, Technologies that the user need help with, any specific task that the user needs help with, project link). All the details need to be displayed via a card in a recyclerview preferably. Other users can contact the project creator via email on the click of "Contact" button in the same card.
The details of the project need to be stored on firebase.

Before starting to work on this issue, submit picture or screenshots of your proposed layout in the comments. After the project maintainers approve it you can start working on it.

Add pdf viewer to view notes

At present on clicking on a note the app redirects outside the app. to In the Notes section and in the MyFiles section in the settings, integrate a pdf viewer to view the notes from within the app,

CI/CD using Github actions

Integrate CI/CD using Github actions using any CI platform available ( Github Actions prefered )

Required features:

  • Build of pull request made to master
  • Build of pull request development
  • Apk generation and saved to app folder under apk after every commit and pull request merge to master or development in respective branch

Migrate existing Java classes to Kotlin

Migrate all the existing java classes to kotlin without using the inbuilt java to kotlin converter in android studio. The code need to be neatly typed with required properties and proper declaration. Take format reference from existing kotlin classes

Help

Can you guys help me with how you implemented the Notes fragment where the data from firebase storage is coming filtered w.r.t the input (Branch, unit , etc) provided by the user?

If there exist any article related to then would also help. But please do help me in implementing the functionality.

Update Readme

Update the readme of the project with correct spellings and make it more presentable.
Update the screenshots with the latest UI of the application.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.