CodePath group project. Bring the WWCode experience mobile.
Problem/Opportunity: Currently, our reach happens through expanding networks and our weekly Code Review. We want to be able to reach an engineer even if we don’t have a network in their area, more directly, and make it so they feel like they are apart of WWCode regardless of where they are in the world. Our goal is to reach 1 million engineers.
Product Overview: This experience will leverage existing internal data: WWCode events, event streaming, resources, internal blogs, job posts, inbound conference data. We will also provide the ability to connect with other like minded engineers through in app direct messaging and event driven groups.
We are going to find out what interests our members based on a personalization flow in order to feed them proper data and connect them with like minded members in their area and around the world. This is creating a more immediate, and direct way to connect regardless of where you are located.
Setup for Developers
- Make sure you have downloaded the latest version of Android Studio. It works on Linux, Windows and Mac. Download the correct version for your OS
- Go to the project repo and fork it by clicking "Fork"
- If you are working on Windows, download Git Bash for Windows to get a full Unix bash with Git functionality
- Clone the repo to your desktop
git clone email@example.com:your_name/WomenWhoCode.git
- Open the project with Android Studio
When a repository is cloned, it has a default remote called
origin that points to your fork on GitHub, not the original repository it was forked from. To keep track of the original repository, you should add another remote named
Open terminal or git bash in your local repository and type:
git remote add upstream https://github.com/WomenWhoCode/WomenWhoCode.git
git remote -vto check the status, you should see something like the following:
origin https://github.com/YOUR_USERNAME/WomenWhoCode.git (fetch)
origin https://github.com/YOUR_USERNAME/WomenWhoCode.git (push)
upstream https://github.com/WomenWhoCode/WomenWhoCode.git (fetch)
upstream https://github.com/WomenWhoCode/WomenWhoCode.git (push)
To update your local copy with remote changes, run the following:
git fetch upstream
git merge upstream/master
This will give you an exact copy of the current remote, make sure you don't have any local changes.
Contributing and developing a feature
- Make sure you are in the master branch
git checkout master
- Sync your copy
- Create a new branch with a meaningful name
git checkout -b branch_name
- Develop your feature on Android Studio and run it using the emulator or connecting your own Android device
- Clean your project from Android Studio
- Add the files you changed
git add file_name(avoid using
git add .)
- Commit your changes
git commit -m "Message briefly explaining the feature"
- We have small Pull Requests, try to keep one commit per feature. If you forgot to add changes, you can edit the previous commit
git commit --amend
- Push to your repo
git push origin branch-name
- Go into the Github repo and create a pull request explaining your changes
- Please add a message on the pull request notifying your changes to @WomenWhoCode/android-reviewers
- An @WomenWhoCode/android-reviewers will merge your PR when it's ready for merging
You can metion all of us using @WomenWhoCode/android-reviewers
Join in on conversations related to this project!
- Sign Up for the Slack Group to discuss issues with fellow developers and contrbutors.*
Open Source Libraries Used
- Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
- Picasso - Image loading and caching library for Android
- Calligraphy - Custom fonts in Android an OK way.
- Material Tab Strip - An interactive indicator to navigate between the different pages of a ViewPager
- KenBurnsView - Android library that provides an extension to ImageView that creates an immersive experience by animating its drawable using the Ken Burns Effect.
- Android GIF Drawable - Views and Drawable for displaying animated GIFs on Android
- Butterknife - Field and method binding for Android views which uses annotation processing to generate boilerplate code for you.
- Glide - An image loading and caching library for Android focused on smooth scrolling
- Bubble View - Bubble View to implement chat conversation's UI.
- Material Spinner - Spinner with Material Design - Down to API 9
- Material Ripple - Android L Ripple effect wrapper for Views
- Recycler View Animators - An Android Animation library which easily add itemanimator to RecyclerView items.
Open Source License
firstname.lastname@example.org for any questions
WWCode reserve the right to change the open source license at anytime