Page MenuHomePhabricator

Proposal: User testing , Outreach of the App and add new features in Wiki Education Dashboard Android App
Open, Needs TriagePublic

Description

Profile Information

Name: Annunziata Kinya Kobia
IRC nickname on Freenode: anniekobia
Github: Anniekobia
Twitter: AnnieKobia
Email: kobiaannunziata94@gmail.com
Location (country or state): Nairobi, Kenya
Typical working hours (include your timezone): Monday - Friday, 10 am to 6pm (GMT+3)

Synopsis

The Wiki Education Dashboard is an application that supports Wikipedia education assignments, edit-a-thons, and other editing projects. It has course management features for groups of editors such as instructors, students, and others — working on Wikipedia, Wikidata, and other Wikimedia wikis. Users log in with their Wikipedia accounts 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.

Features to be added:

  • 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
  • Offline Support in Android App. (using local Database)
  • Write unit tests
  • Migrate app from MVP to MVVM architecture

Possible Mentor(s)
@Ujjwalagrawal17 @Ragesoss

Have you contacted your mentors already?
Yes

Deliverables

Week 1(Dec 3rd - 9th)
Communication with my mentors to refine my proposal and timelines for the internship
Familiarize well with Wikimedia and understand the application features well
Reach out to users for feedback on the existing application
Report on user reviews

Week 2(Dec 10th - 16th)
Understand the interaction of application modules
Familiarize myself with the application stack e.g. Kotlin language, the backend API's
Fix any new issues raised
Blogpost on my Outreachy application process and the experience so far

Week 3(Dec 17th - 23rd)
Feature: Allow a user to add a list of articles assigned to them on the course page

  • Writing the back-end logic code
  • Implement RecyclerView to display the list of articles added
  • Writing the UI logic
  • Feedback from the mentors
  • Test working of feature and create a pull request

Fix any new issues raised

Week 4(Dec 24th - Jan 2nd, Christmas Holiday)

Week 5(Jan 3rd - 9th)
Feature: Allow a program organizer to create accounts for edit-a-thon participants

  • Writing the back-end code
  • Creating Models for an edit-a-thon participant
  • Writing the UI logic
  • Feedback from the mentors
  • Test working of feature and create a pull request

Fix any new issues raised

Week 6(Jan 10th - 16th)
Feature: Join a course (that does not require a passcode or requires a passcode)

  • Writing the back-end logic code
  • Writing the UI logic
  • Feedback from the mentors
  • Test working of feature and create a pull request

Fix any new issues raised

Week 7(Jan 17th - 23rd)
Feature: Assign yourself for a course you are in

  • Writing the back-end logic code
  • Writing the UI logic
  • Feedback from the mentors
  • Test working of feature and create a pull request

Fix any new issues raised

Week 8 (Jan 24th - 30th)
Familiarize myself with the MVVM android architecture
Divide the application into modules and get the different entities

  • Add a Repository and View Model class for each entity
  • Ensure correct interaction between the MVVM layers
  • Feedback from the mentors
  • Test working of feature and create a pull request

Fix any new issues raised

Week 9 (Jan 31st - Feb 6th)
Add a Repository and View Model class for remaining entities
Ensure correct interaction between the MVVM layers
Feedback from the mentors
Test working of feature and create a pull request
Fix any new issues raised

Week 10(Feb 7th - 13th)
Add a Repository and View Model class for remaining entities
Ensure correct interaction between the MVVM layers
Feedback from the mentors
Test working of feature and create a pull request
Fix any new issues raised

Week 11(Feb 14th - 20th)
Feature: Offline Support in Android App

  • Set-up database
  • Create Data Access Objects
  • Ensure Interation of the DAO with the ViewModel and Repository

Fix any new issues raised

Week 12(Feb 21st - 27th)
Feature: Offline Support in Android App

  • Set-up database
  • Create Data Access Objects
  • Ensure Interation of the DAO with the ViewModel and Repository

Fix any new issues raised

Week 13(Feb 28th - Mar 3rd)
Reach out to users for feedback on the existing application
Report on user reviews
Feedback from mentor on my performance
Blogpost on the experience of working on the project

Participation

I will use GitHub to publish all my code and get feedback. I will also be available on email and slack for communications.

About Me

I am currently a 4th year student in Strathmore University, Nairobi, Kenya pursuing a bachelor of Science in Informatics and Computer Science and set to graduate in June 2020.
I am a software developer willing to learn, adapt and grow to solve more problems in the society through technology. I am passionate about developer communities such as Women Who Code and I therefore participate actively and attend different tech events to learn more about what is happening in the industry. I am currently an Andela Learning Community participant for the android track and have been doing android development for a year now.
I heard about this program through my personal mentor. Being able to successfully join the internship program and participate to the end will help me not only increase my knowledge and skills, but also get a good base on contributing to opensource projects.
I will not have other commitments during the internship period but I would love to request for a flexible schedule to accommodate the Christmas holiday with my family.

Past Experience

G-Connect
This is a mobile application to help diabetics record their data such as meals (with amount of calories), exercises (with amount of calories burnt), medication and their blood glucose levels and share this blood glucose records with their doctor for timely recommendations.
By working on this project I have learnt how to structure and plan for a project from the idea, to the UI design mockups, to the technologies required and the actual implementations. It has also helped me learn how to set a Minimum Viable Product for a project and increment from it.

JGI
This is a gym application that allows users registered to a gym with branches in different regions to locate nearby gyms by 50km radius wherever they go.

Contributions

https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/issues/148
https://github.com/WikiEducationFoundation/apps-android-wikiedudashboard/pull/224

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptTue, Nov 5, 12:24 AM

@Ujjwalagrawal17 @Ragesoss Kindly review my proposal and give feedback

I assume this is about Outreachy.