Giter Site home page Giter Site 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.

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.