Coder Social home page Coder Social logo

anitab-org / mentorship-android Goto Github PK

View Code? Open in Web Editor NEW
166.0 21.0 379.0 228.39 MB

Mentorship System is an application that matches women in tech to mentor each other, on career development, through 1:1 relations during a certain period of time. This is the Android application of this project.

Home Page: https://github.com/anitab-org/mentorship-android/raw/apk/app-debug.apk

License: GNU General Public License v3.0

Kotlin 99.32% Shell 0.68%
android mobile kotlin mvvm retrofit viewmodel mentorship livedata databinding coroutines hacktoberfest

mentorship-android's Introduction

project chat Documentation License: GPL v3 GitHub forks GitHub stars

Mentorship System (Android)

Mentorship System is an application that allows women in tech to mentor each other, on career development topics, through 1:1 relations for a certain period.

This is the Android client for the Mentorship System.

Features

  • Once the App is installed, the user can view an onboarding screen that introduces the app and gives the user an idea of how it works.
  • A member gets an option to be a Mentor, a Mentee, or Both.
  • A member can build/customize the app profile with their username, bio, skills, interests, location, occupation, etc. anytime.
  • A member can read and know more about the Mentorship System including the terms and conditions, privacy and policy, and code of conduct.
  • A member can directly access the AnitaB-org Github repo, Zulip chat, and website from this App.
  • A member can refresh every page.
  • A member can view a list of other members and search for a member on the Members Page.
  • A member can search for particular members there in the Mentorship System.
  • A member can sort other members based on their name either (A-Z) OR (Z-A), registration date, and age.
  • A member can filter other members by the label need mentoring or available to mentor, interest, location, and skills that are given while creating a profile.
  • A member can either send mentorship requests to other members as a Mentor or Mentee according to their interests or reject mentorship requests from other members.
  • A member can track the number of Pending Requests, Accepted Requests, Rejected Requests, and Completed Requests and view Recent Achievements on the Home Page.
  • A member can view the details of pending, past, and all mentorship requests on the Requests Page.
  • A member can create, update, or delete tasks in their current mentorship relationship.
  • A member can send feedback about the Mentorship System such as reporting a bug, giving suggestions, or other comments.
  • A member can delete their account.
  • A member can change their account password anytime.

Setting up the project

To setup the project locally read these wiki pages and follow the instructions:

Contributing

Please read our Contributing guidelines, Code of Conduct and Reporting Guidelines

Please follow our Commit Message Style Guide while sending PRs.

Please follow Kotlin official docs for Coding Conventions to maintain a consistent code style in the repository.

Contributors

Thanks goes to these people (emoji key):


Isabel Costa

๐Ÿ’ป ๐Ÿšง โš ๏ธ ๐Ÿ“– ๐ŸŽจ

Vaishnavi Joshi

๐Ÿšง ๐ŸŽจ ๐Ÿ‘€ ๐Ÿ““

Kapil Bansal

๐Ÿšง โš ๏ธ ๐Ÿ‘€ ๐Ÿ““

Aditya Kurkure

๐Ÿ’ป โš ๏ธ ๐Ÿ‘€ ๐Ÿ““

Gauri V. Nair

๐Ÿšง ๐Ÿ‘€

This project follows the all-contributors specification. Contributions of any kind welcome!

Running the UI tests

To run the existing UI tests follow the steps given below:

  • Connect your Android device or open the emulator.
  • On the terminal type: ./gradlew clean build connectedAndroidTest --stacktrace
  • If the above command is not working try using the command: gradlew clean build connectedAndroidTest --stacktrace
  • Wait until all the tests are completed.
  • You will get a report generated with a test summary.
  • See the complete report ./mentorship-android/app/build/reports/androidTests/connected/index.html
  • The report ./mentorship-android/app/build/reports/androidTests/connected/index.html will show all the testsuites that have passed as well as failed.
  • To get a more detailed explanation about the tests of a particular testsuite visit respective html file of the testsuite. For e.g.: org.anitab.mentorship.LoginActivityTest.html will contain the results of all the tests run under that particular testsuite.
  • You can find the respective html files of the different testsuites under the heading classes in index.html report.

Documentation

To learn more about the project's goals and progress, check out Mentorship Roadmap.

To learn more about this app you can look at this project's wiki.

Check out the design history at User Interface Design.

Our tech stack includes:

  • Language: Kotlin
  • Architecture: Model View ViewModel (MVVM)
  • Libraries: Retrofit, RxJava, ViewModel, LiveData, DataBinding

Branches

The repository has the following permanent branches:

  • master This contains the code which has been released.

  • develop This contains the latest code. All the contributing PRs must be sent to this branch. When we want to release the next version of the app, this branch is merged into the master branch.

  • apk This branch contains the apks for the code in the develop branch. The apks are automatically updated when a commit is pushed to develop branch.

Screenshots

Introduction Slider SignUp Screen Login Page
Home Page Profile Page Edit Profile Page
Relations Page Tasks Page Members Page
Filter Members Screen Member Profile Send Request Page
Requests Page Settings Screen About Page
Change Password Page Logout Screen Page

Contact

You can reach our community at AnitaB.org Open Source Zulip.

We use #mentorship-system stream on Zulip to discuss this project and interact with the community. If you're interested in contributing to this project, join us there!

License

Mentorship System is licensed under the GNU General Public License v3.0. Learn more about it in the LICENSE file.

mentorship-android's People

Contributors

ak8527 avatar allcontributors[bot] avatar annabauza avatar asawesome07 avatar atharwa-24 avatar bartekpacia avatar codechamp-ss avatar daksha-aeer avatar dhaneshshetty avatar dilu9218 avatar epicadk avatar haroldadmin avatar ilyamaier avatar isabelcosta avatar jenpaff avatar justdvnsh avatar kavya-24 avatar m-murad avatar maharishi-coder avatar mayburgos avatar mohak1283 avatar polalab avatar priyansh-kedia avatar r00pal avatar shiv07tiwari avatar siddheshkothadi avatar treavvasu avatar vj-codes avatar yash-raj-singh avatar yatri1609 avatar

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mentorship-android's Issues

Update View when cancelling Mentor Relation

Description

As a User viewing my Mentor Relation,
I need to have a better User Experience,
so that I can have a better experience.

Acceptance Criteria

  1. Cancel Mentor Relation should update the View to No current Relation

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hour

Add Pull Request template to the repository

Description

As a contributor,
I need a PR template,
so that I can follow the guidelines of the Open Souce Workflow.

Acceptance Criteria

Update

  • Have a PULL_REQUEST template under .github folder

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

10 minutes

Switching to Relation TabView

Describe the bug
A clear and concise description of what the bug is.
When switching to the relation tab it shows the text labels for a few moments before it realizes the user does not have a mentor/mentee.
To Reproduce
Steps to reproduce the behavior:

  1. Go to another tab
  2. Click on the relation tab
  3. See error

Add Kotlin Docs requirement on PR template

Description

Add an item to the checklist requiring to have Kotlin Docs for each new class and function created.

Acceptance Criteria

Update

  • Update PULL_REQUEST.md template

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

0.5 hours

Improve UI/UX Design to improve Accessibility

Description

As a user,
I need user-friendly UI/UX,
so that I can use the app more efficiently.

Improve UI in order to enable a disabled or impaired person to use that app successfully.
Examples of accessibility concerns:

  • text to talk for blind people;
  • colorblindness issue;
  • ...

Acceptance Criteria

Update [Required]

  • Come up with UI screens or UX samples showing improvements with regards to Accessibility (a11y)

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

6 hours

Create Send Request (Mentorship Agreement) screen

Description

As a User of the Mentorship System,
I need a Send Request screen,
so that I can send Mentorship Relation requests to other Users.

Mocks

image

Acceptance Criteria

Update

  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

5 hours

App crashes when clicked on Send Request Button without entering anything.

Description

Describe the bug
In Send Request Screen, when clicked on Send request button without selecting anything app get crashed.

Expected behavior
Should show some warning when user clicks on Send request Button without selecting anything

Screenshots
Below is the gif of bug
issue_manik_systers

Smartphone (please complete the following information):

  • Device: Mi A1
  • OS: Android
  • Version 8.1.0

Update [Required]

  • Select a default date, 1 month from the current date and initialize the field with it.
  • Disable the end date field from the beginning, instead of when the date is selected.

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hour

Add a travis.yml file to repo.

Description

As a maintainer,
I need to add a travis.yml file to build the code on Travis,
so that I can verify if the code is working or not before merging PRs.

Acceptance Criteria

  • Add a travis.yml file to the repo

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hours

Create Sign Up screen

Description

As a user of the Mentorship System,
I need register into the system,
so that I can use the app.

Mocks

image

Acceptance Criteria

Update

  • Create an activity for Registering into the application
  • Try to follow UI Mock screen
  • Use backend API to register the user

Definition of Done

  • All of the required items are completed.
  • PR should be sent to the gsoc18-code branch.
  • Approval by 1 mentor.

Estimation

4 hours

Bottom navigation icon for Current Relation should be in .SVG

Description

As a developer,
I need an SVG version of the icon related to Mentorship Relation screen,
so that I can link the icon to this screen.

Material Design icons already allow this.
Then PNG icon has to be converted to SVG.
Tools that can be used for this: Adobe Illustrator, InkScape

Mocks

image

Acceptance Criteria

Update [Required]

  • Export the design icon to SVG format

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hour

Create Mentorship Relation - Tasks Screen

Description

As a User fo the Mentorship System,
I need a Mentorship Relation Tasks screen,
so that I can check my tasks.

Mocks

image

Acceptance Criteria

Update

  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

10 hours

Setup auto apk generation.

Description

As a developer,
I need generate apks whenever new code is pushed,
so that users who want to test the app can download the apks and install it without building the code.

Acceptance Criteria

  • Whenever code is committed, apks are generated and saved to apks branch

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hours

Create Members List screen

Description

As a user,
I need Users List screen,
so that I can see the verified users of the System that I can create Mentorship relations with.

Mocks

image

Acceptance Criteria

Update [Required]

  • Create Members list screen
  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • PR should be sent to the gsoc18-code branch.
  • Approval by 1 mentor.

Estimation

5 hours

Create Mentorship System icon

Description

As a user of the app,
I need to see a unique icon launcher,
so that I can easily identify the app among other pool of apps.

Suggestion of tool: https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html

Mocks

For now we can reuse the image from the blog post "Mentorship System by Systers":

image

Acceptance Criteria

Update

  • Create launch icons

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hours

SignUp Activity: Invalid email bug

Description

As a user,
I need to enter a valid email address,
so that I can register into the app.
But right now on entering a valid email address I'm getting an error stating Your email is invalid.
When I checked the back-end I got to know that it is working fine and the problem is somewhere in the android application.

Mocks

Acceptance Criteria

Update [Required]

  • Find where the bug is and fix it in the file

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

7-8 hours

Additional Comment

I would like to debug and work on this issue.

Create Mentorship Relation - Details Screen

Description

As a User fo the Mentorship System,
I need a Mentorship Relation Details screen,
so that I can check details in my mentorship relations.

Mocks

image

Acceptance Criteria

Update

  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

10 hours

Hide own username in list

Description

As a user,
I need to have my own username and profile hidden from the list of mentors,
so that I cannot request myself.

Mocks

username_show

Acceptance Criteria

Update [Required]

  • [LIST ITEMS]

Enhancement to Update [Optional]

  • [LIST ITEMS]

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

0.5 hours

Create Tutorial screens design

Description

As a developer,
I need to have mockups for Tutorial screens,
so that I can develop them.

Create Tutorial screen design and content.

Mocks

This is the task :P

Acceptance Criteria

Update [Required]

  • Create Mock ups for Tutorial Screens

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

4 hours

Create About screen

Description

As a user of the system,
I need to see more info about the app,
so that I can better understand its origins.

Make sure to add:

  • Short the description of the application
  • Mission of the app
  • Include links about Terms and Conditions and the following links:
    the AnitaB.org Code of Conduct, Terms, and Privacy Policy

Mocks

I would love to have something here

Acceptance Criteria

Update [Required]

  • Create About screen clickable from Settings screen

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

4 hours

See/Update User Profile Screen

Description

As a user of Mentorship System,
I need a screen to show my profile,
so that I can see my saved data and be able to update it.

Mocks

image

Acceptance Criteria

Update [Required]

  • Create Activity, View Model, repository functions
  • Follow the UI mock provided

Update [Optional]

  • Test for this feature

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

10 hours

Update Current Relation screen when cancellation is successful

Description

As a user of the system,
I need to see the current relation screen with no relation details when the relation is canceled,
so that I can have a good User Experience when I cancel a mentorship relation.

Related to bug reported #62

Acceptance Criteria

Update [Required]

  • Put view into empty state when a relation cancelation goes well

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hours

Create/Improve README

Description

As a contributor,
I need to see a proper README,
so that I can learn more about the project context and know everything I need to know to run the project.

Acceptance Criteria

Update

  • Add description of the project
  • Add contributors
  • Mention the initial work context of GSoC with the name of Student and Mentors
  • Mention the necessary SDK to run the project
  • Mention tech stack
  • Guide Contributors to discuss furtherer development on #mentorship-system channel on Slack
  • Mention Cod of Conduct
  • .....

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

30 minutes

Logout from the application

Description

As a user of the mobile application,
I need logout option in the pop up menu,
so that I can properly logout from the application.

Need to check for the access token presence on SharedPreferences on SplashActivity before opening either LoginActivity or MainActivity.

Logout will delete the access token from shared preferences

Mocks

Pop up menu UI design:

image

Acceptance Criteria

Update [Required]

  • Check if user is logged in when opening the app
  • Delete token when login out and redirect user to LoginActivity

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

5 hours

Add Mentor/Mentee availability option to Sign Up screen

Description

As a new user,
I need to be able to select if I want to be a mentor and/or mentee,
so that I can be available for selection after signup without editing my profile.

Note: You can pick up the work already done in PR #69 (closed and unmerged). This contains UI improvements: the 2 additional checkboxes and fixes to the ConstaintLayout.

Acceptance Criteria

Update [Required]

  • Checkboxes on signup screen.
  • Integrate with the backend API.

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

2 hour

SignUp activity: Password not matching BUG

Description

As a user for the mentorship system,
I need to sign up and need to fill up the sign up form having password and confirm password,
so that I can use the app.
But currently on entering password and current password it shows the error Passwords didn't match! while both of them are same.

Mocks

Acceptance Criteria

Update [Required]

  • Update the SignUp Activity file to fix confirm password must be set from the correct edit text
  • Set terms and conditions to be checked

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

2 hours

Document stages and states of Mentorship Relation

Description

As a contributor,
I need understand how mentorship relation stages and states work,
so that I can contribute to the project with some knowledge of the project.

Acceptance Criteria

Update [Required]

  • Explain Mentorship Relation stages and states on Wki and Google Docs

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

0.5 hours

Make PopUp Menu into a single Settings screen

Description

As a user,
I need to have all the settings in a screen,
so that I can have organized multiple settings instead of having a long pop up menu.

This is a question of User experience. Right Now there isn't anything specific thought for the Settings screen, so instead of having a settings option in the pop-up menu, we could have a screen dedicated to settings and the other options that the pop-up menu provides.

A single screen that contains the pop-up menu items, such as Feedback, Settings, Log out and About screen. This would be an Activity. Instead of having the 3 dots icon, we could have a wheel icon representing general settings.

We may need a simple screen UI design and only then start coding, or one contributor could be responsible for both tasks.

Additional context: This was discussed when preparing issues for GHC Open Source Day.

Mocks

Whoever works on this can suggest a UI for this, and put an image on comments section

Acceptance Criteria

Update [Required]

  • Replace tree dots icon for a settings icon
  • Open a new screen dedicated to "Settings", this will include an "About", "Feedback" (not implemented yet), "Delete Account", "Logout".
  • No need to implement the actual screen that comes from it, just the settings, the other screens can be made and linked in other PRs.

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

3 - 5 hours

Requests List does not update when I delete a request

Description

As a user,
I need to see the correct list of requests,
so that I can see and act on them.

The Mentorship Request list does not update the list when I delete a mentorship request.

Steps to reproduce:

  1. Go to Requests Screen
  2. Go to Request Detail Screen of a request sent by the logged user
  3. Delete this request
  4. When returning to the list, the request is still there
    • This causes the bug that when you go to the detail screen and deletes again, the backend will return an error for a non-existant request

Mocks

[I want a GIF here]

Acceptance Criteria

Update [Required]

  • Update main list in Requests screen when user deletes a request in Request Detail screen

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

2 hours

Refactor the ProfileFragment and EditProfileFragment to make the UI look good.

Description

As a user of Mentorship System,
I need to have a good UI compliant following a set of standards (such as Material Design),
so that I can have a good user experience.

The UI of the ProfileFragment is not Material Design compliant. Because the EditTexts have been disabled the text is faded. Also, fields with no data are visible.
We need to redesign the ProfileFragment so that it looks good and fields with no data aren't shown.

Mocks

Current UI

Acceptance Criteria

Update [Required]

  • Make Profile update done within the editProfileFragment
  • Make Profile View not editable

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

2 hours

App gets Stuck when it is rotated in every fragment

Description

Describe the bug
When the App is rotated (landscape mode) it gets stuck and the progress dialog does not gets removed.

Expected behavior
App should retain its state and it should remain in the same fragment after the app is rotated.

Testing device:

  • Device: Smartphone MIA1
  • OS: Android - 8.1.0

Screenshots

issue image one

issue image 2

Acceptance Criteria

Update [Required]

  • Find where the bug is and fix it in the file.

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hour

Create the Mentorship Request Detail screen

Description

As a User of the Mentorship System,
I need Request Detail Screen,
so that I can accept/reject or delete Mentorship Relation requests.

Mocks

Screen from a received Request:

Screen from a sent Request:

Acceptance Criteria

Update

  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • PR should be sent to the gsoc18-code branch.
  • Approval by 1 mentor.

Estimation

7 hours

Create Mentorship Requests List Screen

Description

As a User fo the Mentorship System,
I need a Mentorship Requests screen,
so that I can check my past and pending requests.

Mocks

image

Acceptance Criteria

Update

  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • PR should be sent to the gsoc18-code branch.
  • Approval by 1 mentor.

Estimation

10 hours

[Idea] Create recover password option on Sign In Screen

Is your feature request related to a problem?
The mobile app does not have a forgot password option.

Describe the solution you'd like
Create an option to recover the password, such as a text in the login screen, asking if the user does not remember the password.

Describe alternatives you've considered
Backend search for email/username and auto-send for username
^username would be an automated reminder of username
^password we need a process to reset

Additional context
N/A

Improve UI design of screens

Description

As a user,
I need to easily understand and use the app,
so that I can get used to mentorship system app quickly.

Acceptance Criteria

At least a design for one screen is completed.

Definition of Done

  • Improved version of screen with the reason to improve provided.
  • Approval by 1 mentor.

Estimation

2 hours

Enhance Terms and Conditions text on Register screen

Description

As a user of the system,
I need to have links to terms and conditions on Register screen
so that I can be aware of Terms of use, Code of Conduct and Privacy Policy.

On Registration Screen we need to have a proper text with the Terms and Conditions check box.

Text:

"By checking this box, I affirm that I have read and accept to be bound by the AnitaB.org Code of Conduct, Terms, and Privacy Policy. Further, I consent to the use of my information for the stated purpose."

Links to add:

Acceptance Criteria

Update [Required]

  • Replace terms and conditions text with proposed one with the proper links

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

4 hours

Improve Documentation on Wiki regarding implementation decisions

Description

As an open source contributor,
I need to know about the implementation decisions taken about Mentorship System android application,
so that I can avoid coming up with ideas that go against what was previously decided.

Ideas from the weekly meeting:

  • Once auto deployment is done, include the apk link on wiki.
  • Include a summary of why a technology was chosen regarding Kotlin, MVVM, libraries as well, or even Android.

Acceptance Criteria

Update [Required]

  • Create GitHub Wiki page explaining implementation decisions for the Android application

Update [Optional]

  • Add changelog for GSoC 2018 work

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

2-3 hours

Can't cancel mentorship relation

Describe the bug
A clear and concise description of what the bug is.
When cancelling a mentorship it does not clear the mentee information from the screen.

To Reproduce
Steps to reproduce the behavior:

  1. Go to relation tab
  2. Click on cancel (with accepted request)
  3. See error

Screenshots
If applicable, add screenshots to help explain your problem.
bugscreen1
bugscreen2

Change date format to Calendar in Send Request

Description

As a user of the system,
I need a calendar widget,
so that I can more intuitively choose an end date for a mentorship relation.

The Send Request screen requires a user to enter the date in the format dd/mm/yy.
It would be convenient to have a calendar to request the time period.

Mocks

Use this image as an example of where the calendar icon shold be located

send request screen

Acceptance Criteria

Update [Required]

  • Add a Calendar icon
  • Set this ^^ icon to be clickable and open a calendar for the user to select a date
  • Convert this calendar to Unix Timestamp

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

4 hours

Create Login Screen

Description

As a User,
I need be able to login into the system,
so that I can use the Application features.

Mocks

image

Acceptance Criteria

Update

  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • PR should be sent to the gsoc18-code branch.
  • Approval by 1 mentor.

Estimation

2 hours

Write UI test for RegisterActivity

Description

As a contributor,
I need UI tests for RegisterActivity,
so that I can minimize the bugs for Registration activity.

Acceptance Criteria

Update [Required]

  • Create test for RegisterActivity

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

4 hours

Increase arrows size in the Current Relation icon

Description

As a user of the Application,
I need see the arrows from the Current Relation icon bigger,
so that I can clearly the shape of the icon in the bottom navigation of the App.

Check issue #11 which is related and contains the initial image.

You can find the svg file here and edit with a proper tool (e.g.: InkScape, Adobe Illustrator): https://drive.google.com/open?id=1E7vSOgGN9ZzWw65w1UUAbFj4fLuR2JOQ

Mocks

Current size:
image

Acceptance Criteria

Update

  • Create a new vector icon to replace the current one. The new one should have thicker arrows

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

1 hours

Create Home Screen

Description

As a User for the Mentorship System,
I need a Home screen,
so that I can see the details of request,tasks etc when I log in.

Mocks

image

Acceptance Criteria

Update

  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • PR should be sent to the gsoc18-code branch.
  • Approval by 1 mentor.

Estimation

10 hours

Write UI test for LoginActivity

Description

As a contributor,
I need UI tests for LoginActivity,
so that I can minimize the bugs for LoginActivity.

Acceptance Criteria

Update [Required]

  • Create test for LoginActivity

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

4 hours

Signup Page Keyboard

Describe the bug
A clear and concise description of what the bug is.
During signing up the keyboard does not hide when the user is done typing in the text box.

To Reproduce
Steps to reproduce the behavior:

  1. Go to sign up
  2. Click on a text box
  3. Scroll down to the next textbox
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.
The keyboard is still visible after clicking outside of the text box in the white

Create Member Profile Screen

Description

As a User for the Mentorship System,
I need a Member profile screen,
so that I can check details of a member.

Mocks

image

Acceptance Criteria

Update

  • Create Activity, View Model, repository functions
  • At least one unit test
  • Follow the UI mock provided

Definition of Done

  • All of the required items are completed.
  • PR should be sent to the gsoc18-code branch.
  • Approval by 1 mentor.

Estimation

10 hours

Add feature specific branch creation when sending PRs to CONTRIBUTING.md

Description

As a contributor,
I need clear Contributing Guidelines,
so that I can properly contribute to this project.

Explain that a contributor has to create a new branch per issue instead of sending PRs from their base branch (same as this repo base branch develop).

Acceptance Criteria

Update [Required]

  • Update CONTRIBUTING.md

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

0.5 hours

Add click effect to Members List item

Description

As a user of the mobile app,
I need see a click effect on list items,
so that I can have a good user experience.

Add the following property to root item of the list_member_item.xml resource file:
android:background="?attr/selectableItemBackground"

Acceptance Criteria

Update [Required]

  • Add click effect to Members List item

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

0.5 hours

Send/Receive photos on Backend

Description

As a user of the Mentorship System,
I need to upload a picture identifying me,
so that I can be identified by other members of the system.

This requires saving the image and sending into Amazon S3 service, then sending the URL to the Backend using the PUT /user API

This requires a lot of discussion because of Amazon hosting.

Acceptance Criteria

Update [Required]

  • Send the picture to Backend
  • Receive and parse the image from Backend

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.

Estimation

10 hours

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.