Page MenuHomePhabricator

Proposal for Outreachy Round 19 (WikieEducation Android App)
Open, Needs TriagePublic

Description

Profile

Name : Agatevure Glory
Email : agatevureglory@gmail.com
IRC nick : Agatevureglory
Blog : agatevure.com
GitHub :gconnect
Location : Nigeria (GMT+1)
Typical working hours : Between 8am and 5pm GMT +1

Synopsis

The Wikemedia Education Dashboard Android app is an app that support Wikipedia education assignments, edit-a-thons, and other editing projects. It provides data and course management features for groups of editors — instructors, students, and others — who are working on Wikipedia, Wikidata, and other Wikimedia wikis. Users log in with their Wikipedia accounts (through OAuth) and allow the Dashboard to make edits on their behalf. The Dashboard automates many of the standard elements of organizing and participating in a Wikipedia classroom assignment, edit-a-thon, or other wiki contribution campaign.

The project aims to achieve the following objectives:
• Taking feedback from users about the current app
• Adding new features
• Fixing bugs
• improving the code quality of the app
• Email and communicate with users using the app for getting feedback.
• Add a list of my articles (articles assigned to me) on the course page.
• As a program organizer, create accounts for edit-a-thon participants
• Join a course (that does not require a passcode or require a passcode)
• Assign yourself s for a course you are in.
• Campaign Details Page
• Local Database to add offline support in App
• Migrate app from MVP to MVVM architecture

Mentors : @Ragesoss, @Ujjwalagrawal17

Timeline

PeriodTask
:---------------------:----------:
Dec 3 to Dec 10Community bonding period. • Communicating with mentors on refining project proposal, finalizing deadlines and setting milestones • Upload profile picture on Wikimedia Commons • Subscribe to Wikimedia mailing list wikitech-l@lists.wikimedia.org • Setup Wikimedia user page and keep it up to date with project work and report • Read stories from across the Wikimedia movement on Medium • Watch previous videos on Wikimedia technical topics
Dec 17 to Dec 24• Taking feedback from users about the current app • Adding new features • Fixing bugs • improving the code quality of the app
Dec 24 to Dec 28•Campaign Details Page •Code refactoring using databinding • Code refactoring using Android Navigation Component
Dec 29 to Dec 31Phase I evaluation
Jan 1 to Jan 7•As a program organizer, create accounts for edit-a-thon participants • Join a course (that does not require a passcode or require a passcode)
Jan 8 to Jan 14•Email and communicate with users using the app for getting feedback.
Jan 14 to Jan 21•Add a list of my articles (articles assigned to me) on the course page.
Jan 21 to Jan 28•Assign yourself for a course you are in.
Jan 29 to Jan 31Phase II evaluation
Feb 1 to Feb 7Migrate app from MVP to MVVM architecture•Local Database to add offline support in App •Create ViewModels for the Activities and Fragments •Replace the Presenter with Repositories
Feb 8 to Feb 14•Add Kotlin Kodein dependency Injection •Performing background task using Kotlin coroutines
Feb 15 to Feb 21•Taking feedback from users •Bug fixes and testing
Feb 22 to Feb 29Mentors submit final student evaluations.
March 1 to March 3Final results of Outreachy 2019 announced

Deliverables

• Creating task on Phabricator
• improving the code quality of the app
• Use Navigation Fragment where needed to host the fragments using Navigation graph
• Add databinding to the project to replace findViewById
• Add Kotlin Kodein dependency Injection
• Peforming background task using Kotlin courotines
• Email and communicate with users using the app for getting feedback.
• Add a list of my articles (articles assigned to me) on the course page.
• As a program organizer, create accounts for edit-a-thon participants
• Join a course (that does not require a passcode or require a passcode)
• Assign yourself for a course you are in.
• Campaign Details Page
• Migrate app from MVP to MVVM architecture
• Local Database to add offline support in App
• Testing
• Taking feedback from users

Phase I evaluation

• improving the code quality of the app
• Campaign details page
• Add a list of my articles (articles assigned to me) on the course page
• Email and communicate with users using the app for getting feedback
• Code refactoring using databinding
• Code refactoring using Android Navigation Component
• Assign yourself for a course you are in
• Join a course (that does not require a passcode or require a passcode)
• As a program organizer, create accounts for edit-a-thon participants

Phase II evaluation

• Migrate app from MVP to MVVM architecture
• Local Database to add offline support in App
• Add Kotlin Kodein Dependency Injection
• Preforming background task using Kotlin coroutines
• Performing Unit and UI Automated testing
• Taking feedback from users

Final evaluation

Participation
• Work on a separate branch on git and uploading code to the forked repo almost on a daily basis.
• Creating pull requests as and when a complete feature is done.
• Online on IRC in my working hours (8 am to 5 pm GMT +1)
• I will be online on slack to communicate with my mentors during working hours
• I will use Phabricator for managing bugs and subtask
• Publishing on my blog the summary of a task at the end of a task period as above in the timeline agatevure.com)

About me

I am a graduate of Banking and Finance with so much love for software development. I am a life-long learner and love to be part of community building by way of organizing and volunteering at tech events as well as contributing to Open Source Software’s. This is my first participation in Outreachy Open Source Internship Program. This will be my first priority since I won't have any other commitments during this period.
During the course of the contribution period, I have been contributing to WikieEducation Android App. I have created some issues, fix some of the existing issues. I have fixed some bugs, handled some help needed task, Added some features and enhancement to the app. Contributing to the WikieEducation Dashboard Android app will impact the world in no small way as the app is a useful open source tool that aid learning and monitors performance.

Past Experience

I have experience working with Java, Kotlin, Android Studio, Python, Flask, Django, HTML, CSS and JS among others. Among databases I mostly worked on PostgreSQL, MySQL, Sqlite3 and among VCS I worked with git. Among continuous integration tools, I mostly work with Circleci and Travisci. Among OS I mostly work with Mac.
I designed a laundry application. I created a question and answer android application and a four in one android application that contains bible, devotionals, study guide and puzzle devotional application. The devotional app contains devotional for the year and fetches current bible verse for each day from the server.
I have worked on other android applications that make use of current google standard for android development using Kotlin and MVVM design pattern, App modularization, Kotlin Coroutine and dependency Injection. I also follow google material design guidelines when developing android applications. Most of my applications can be found here.
Aside Android development, I have also worked on a few web projects. I developed an event website for hosting free workshops in my community and portfolio website. I created APIs and a blog site with Python, Flask and Django.

Here are some of the links to my past projects
https://github.com/gconnect/MVVMKotlinExample
https://github.com/gconnect/RoomWordSampleKotlin
https://github.com/gconnect/NavigationComponentExample
https://github.com/gconnect

Microtasks Completed

• Added Onboarding page to the app
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/23
• Change the Detail Media Fragment Layout to Constraint Layout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/76
• Designed a Mock-up for the onboarding

https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/82

• Created a WelcomeHostActivity for the on-boarding

https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/83

• Use Constraintlayout in wiki education dashboard fragment
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/97
• Use Constraintlayout in Outreach Programs and events dashboard fragment
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/98

• Fix -[BUG] Scrolling issue in Media Details Page
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/57

Fix -Overlapping Views
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/226

• Change Upload and Activity View positions
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/211

• Change Fragment Recent Activity to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/208

• Removed Unnecaessary Constraints from Fragment Explore
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/201

• Changed item_rv_student layout to ConstaintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/199

• Changed item_rv_my_dashboard to ConstaintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/199

• Changed item_rv_media_category to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/197

• Changed item_rv_files to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/196

• Changed item_rv_expore_courses_users to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/195

• Changed item-rv_explore courses to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/194

• Changed item_rv_course upload to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/193

• Changed item_rv_campaign_list to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/192

• Changed include_layout_explore_courses to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/191

• Changed item_include_files_media to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/190

• Changed fragment_image_viewer to ConstraintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/189

• Changed fragment_profle_stat to ConstarintLayout
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/225

• Local Database setup with Room Persistent Library
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/228

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 16 2019, 2:26 AM
Agatevureglory added a subscriber: Ujjwalagrawal17.
Agatevureglory updated the task description. (Show Details)

Hi @Agatevureglory , I will like to mention 2 points:

  1. If possible add try to include https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/145 feature in your proposal.
  1. Add some more time for taking feedback from users. i.e. (After 2nd Evaluation). We will be likely to release a new version in google play after phase 2 and will like to take feedback from the users.

Other things look good to me.

Agatevureglory updated the task description. (Show Details)

@Ujjwalagrawal17 I have updated the proposal. I have added issue #145 and also created time for user feedback at the end of 2nd evaluation. Thanks

Most of my applications can be found here. ?- glory I think link is missing in past experience section. Please add it.

I have added the links

Thanks for creating a proposal! As we are past the deadline, if you would like us to consider your proposal for review, please move it to the submitted column. Thank you!

Agatevureglory closed this task as Resolved.Wed, Nov 6, 7:10 AM

Thanks for creating a proposal! As we are past the deadline, if you would like us to consider your proposal for review, please move it to the submitted column. Thank you!

Please how do I move it to submitted column?

Zoranzoki21 reopened this task as Open.Wed, Nov 6, 7:25 AM
Zoranzoki21 moved this task from Backlog to Proposals Submitted on the Outreachy (Round 19) board.

@Agatevureglory: You can do that via the Add Action...Move on Workboard dropdown (but Zoranzoki21 has already done that - thanks!)

Thanks for your help