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
• UI improvement of the app
• Campaign Details Page
• Local Database to add offline support in App
• Migrate app from MVP to MVVM architecture
Mentors : @Ragesoss, @Ujjwalagrawal17
Timeline
Period | Task | |
:--------------------- | :----------: | |
Dec 3 to Dec 10 | Community 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 | Christmas holiday | |
Dec 29 to Dec 31 | Phase I evaluation | |
Jan 1 to Jan 7 | •UI improvement | |
Jan 8 to Jan 13 | •Add Kotlin Kodein dependency Injection •Performing background task using Kotlin coroutines | |
Jan 14 to Jan 18 | •Offline Feature for CampaignList | |
Jan 19 to Jan 28 | •Offline Feature for CourseList | |
Jan 29 to Jan 31 | Phase II evaluation | |
Feb 1 to Feb 7 | Migrate 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 ViewModels •Replace the Providers with Repository | |
Feb 8 to Feb 14 | •Create Campaign Details page | |
Feb 15 to Feb 21 | •Taking feedback from users •Bug fixes and testing | |
Feb 22 to Feb 29 | Mentors submit final student evaluations. | |
March 1 to March 3 | Final 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
• Campaign Details Page
• Migrate app from MVP to MVVM architecture
• Local Database to add offline support in App
• Taking feedback from users
Phase I evaluation
• improving the code quality of the app
• UI improvement mockup design for Dashboard, CampaignList, CourseList, and CourseDetails Page
• Create empty state illustration mockup design
• Bug Fixes
• Code refactoring using Databinding
• Code refactoring using Android Navigation Component
Phase II evaluation
• Add Kotlin Kodein Dependency Injection
• Preforming background task using Kotlin coroutines
• Migrate app from MVP to MVVM architecture
• Local Database to add offline support in App
• Create a Campaign Details page
• 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
• Publishing on my blog the summary of a task at the end of a task period as above in the timeline agatevure.com/blog)
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