Code Monkey home page Code Monkey logo

iitp-connect's Introduction

IITP-Connect

Build Status CircleCI Codacy Badge Open Source Love HitCount

This is the Android app developed by the Student community of Indian Institute of Technology Patna.
The application provides various useful modules which enables the students to stay updated about all the college news & events, their attendance, status and much more.

This project is meant to encourage the emerging developers of IIT Patna to take part in this project as a collaborative open-source team and in the process build something useful for the student community.

Features and Future Plans

  • Coding Calendar
  • User Accounts
  • Youtube Feed
  • Facebook Feed
  • Timetable

Branch Policy

  1. master - This branch contains the most stable version of the application.

  2. development - This branch contains the application at its current state. All the changes and pull-requests should be made here. It will be merged to the master branch from time to time.

Contributing

Read the Contributing guidelines to get started. This project follows the MVVM architectural Pattern.

Maintainers

The project is actively maintained by

Idea Credits

NSIT-Connect

License

This project is currently licensed under The MIT License (MIT). A copy of LICENSE.md should be present along with the source code.

iitp-connect's People

Contributors

ak-007 avatar arundhatigupta avatar chiragw15 avatar dependabot-support avatar dependabot[bot] avatar dr0pdb avatar enesacikoglu avatar harsh-jindal avatar its-snorlax avatar jafjdev avatar jellyrolljunior avatar jguerrerope avatar kartikarora avatar kartikdot avatar knightcube avatar logans1 avatar mayank8318 avatar ravi-kishan avatar sank20 avatar sheetal-g9 avatar taeven avatar tameeshb avatar

Stargazers

 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

iitp-connect's Issues

Add IDE files to .gitignore

  1. rm -rf .idea
  2. delete these in .gitignore
/.idea/workspace.xml
/.idea/libraries
/.idea/misc.xml
  1. Add this to .gitignore
.idea

Use Android data binding framework

Actual Behaviour

Right now we are using Butterknife to reduce the boilerplate code for view bindings.

Expected Behaviour

The official Data binding framework is extremely powerful and supports two way data binding as well. Replace the usage of Butterknife and refactor to use the data binding library.

Upgrade to Android studio 3.0

Actual Behaviour

The Gradle plugin versions are outdated.

Expected Behaviour

The project should be updated to use Android studio 3.0

Would you like to work on the issue?

Yes

Delete the Semester POJO.

Actual Behaviour

There is a semester pojo inside Attendence manager.

Expected Behaviour

I feel it will only complicate things and it doesn't have any use case.
I don't think anyone would like to save his/her attendence for previous semesters.
Hence we only need to store the data for the current semester and provide option to delete the data so that the user can delete the previous semester data before start of each semester.

Would you like to work on the issue?

Yes.

Write ViewModel tests

Expected Behaviour

Write ViewModel tests for

  • CodingCalendarViewModel
  • ContestDetailViewModel

Parent issue

#48

Roadmap of the project

Since there isn't a proper place to add the detailed Roadmap of the project and discuss it. I'll add it here.
Here are the next few steps that we have to take:

  • Migrate to ROOM in Coding calendar (#59 )
    We cannot use two databases at the same time and it would be very time-consuming to use Content providers for other features also. So the best solution would be to refactor Coding calendar to use ROOM.

  • Create the database for Attendance manager.(#15 )

  • Create the UI for Attendance manager(#71 )

Will keep on adding as they come.

@mayank8318 @arundhati24

Add ScrollView to activity_contest_details.xml

Currently we can't scroll through the entire page in some of the contest detail activities, where the title of the contest is big or the data does not fit into a single screen.

For example :
iitp_1

Fix travis.yml

Currently all the builds are failing with the following error message :

Error: Target id is not valid. Use 'android list targets' to get the target ids.  
The command "echo no | android create avd --force -n test -t android-22 --abi armeabi-v7a" failed and exited with 1 during .  
Your build has been stopped.

Full report here

Migrate to Kotlin

Actual Behaviour

The app is currently written in Java.

Expected Behaviour

Kotlin bring exciting new features and hence should be used. Now is a good time since we have a small codebase right now.

Not a priority right now.

Migrate to Architecture components in Coding Calendar

There is no specific architechture of the application right now. We should develop new modules using MVVM architecture and refactor CodingCalendar later to MVVM.

  • Create ViewModels
  • Wrap data into LiveData
  • Migrate to Room
  • Write ViewModel tests.

Not a current priority but certainly for the future.

Add MIT license.

Add MIT license to the project. Other options available are Apache and GPL but MIT it better and suitable in my opinion. @srv-twry @mayank8318 views?

Part 2: Authentication using Firebase

Is your feature request related to a problem? Please describe.
A little bit of setup has already been done for Firebase authentication. We need to take it forwards.

Fix travis build

Actual Behaviour

The Travis build fails after upgrading Gradle settings.

Expected Behaviour

It should be fixed ASAP

Add feature of adding Schedule in Attendence Manager

Expected Behaviour

Add feature of adding Schedule in Attendence Manager. Right now, the user has to manually mark his attendence for each subject.
Prompt the user to mark his/her attendence according to the schedule.

Create child issues if needed.

Reformat code in the project

Actual Behaviour

There are a lot of formatting errors in the whole project.

Expected Behaviour

Use Android studio shortcut ctrl+alt+l to reformat the code in every file.

Use Timber for logging

Actual Behaviour

Right now we are using the default logging component provided by the Android SDK.

Expected Behaviour

We should use Timber for logging because it's very popular and is the industry standard.
Refactor all logging statements(if any) to use Timber

Would you like to work on the issue?

Yes

Fix package structure in the project

Actual Behaviour

The package structure in the project isn't right.

Expected Behaviour

Take inspiration from one of the open source android projects and allign accordingly.

Contest title not arranged properly in landscape mode

Actual Behaviour
Currently the contest title in the recycler view list item does not fit properly in the text view in landscape orientation. Also ellipsis does not appear in this case.

Screenshots for current behaviour :
Portrait orientation :
portrait_view

Landscape orientation :
landscape_view_1

landscape_view_2

Required behaviour
landscape_view_correct_1

landscape_view_correct_2 jpg

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.