Giter Club home page Giter Club logo

git-point's Introduction

GitPoint


GitPoint

GitHub in your pocket. Built with React Native.

Download on the App Store Get it on Google Play

Table of Contents

Introduction

Build Status Coveralls All Contributors PRs Welcome Commitizen friendly Gitter chat

View repository and user information, control your notifications and even manage your issues and pull requests. Built with React Native, GitPoint is one of the most feature-rich unofficial GitHub clients that is 100% free.

Available for both iOS and Android.

Features

A few of the things you can do with GitPoint:

  • View user activity feed
  • Communicate on your issue and pull request conversations
  • Close or lock issues
  • Apply labels and assignees
  • Review and merge pull requests
  • Create new issues
  • Star, watch and fork repositories
  • Control your unread and participating notifications
  • Easily search for any user or repository

Feedback

Feel free to send us feedback on Twitter or file an issue. Feature requests are always welcome. If you wish to contribute, please take a quick look at the guidelines!

If there's anything you'd like to chat about, please feel free to join our Gitter chat!

Contributors

This project follows the all-contributors specification and is brought to you by these awesome contributors.

Build Process

  • Follow the React Native Guide for getting started building a project with native code. A Mac is required if you wish to develop for iOS.
  • Clone or download the repo
  • yarn to install dependencies
  • yarn run link to link react-native dependencies
  • yarn start:ios to start the packager and run the app in the iOS simulator (yarn start:ios:logger will boot the application with redux-logger)
  • yarn start:android to start the packager and run the app in the the Android device/emulator (yarn start:android:logger will boot the application with redux-logger)

Please take a look at the contributing guidelines for a detailed process on how to build your application as well as troubleshooting information.

Development Keys: The CLIENT_ID and CLIENT_SECRET in api/index.js are for development purposes and do not represent the actual application keys. Feel free to use them or use a new set of keys by creating an OAuth application of your own. Set the "Authorization callback URL" to gitpoint://welcome.

Backers Backers on Open Collective

Thank you to all our backers! ๐Ÿ™ [Become a backer]

Sponsors Sponsors on Open Collective

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Acknowledgments

Thanks to JetBrains for supporting us with a free Open Source License.

git-point's People

Contributors

alejandronanez avatar andrewda avatar antoine38660 avatar chandrasekar-g avatar chinesedfan avatar dhamanutd avatar eliottha avatar gejose avatar jglover avatar josenaranjo avatar jouderianjr avatar jstrobel avatar junedomingo avatar lex111 avatar machour avatar mrloh avatar nersoh avatar ocarreterom avatar olegkorol avatar patw0929 avatar pdong avatar peterdavehello avatar rolfkoenders avatar siderio2 avatar simonhoyos avatar spacelenore avatar tomodutch avatar whitedogg13 avatar wndisra avatar zahratee 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  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

git-point's Issues

iPad support

I don't know how much work it is to support iPad size classes but I would absolutely love to pay $10 for this conditional on supporting iPad (where I do most of my team communication - and development on my desktop). I get that it's a free download but I so badly want there to be a good iPad client :)

Add GitHub Enterprise Support

Is it possible to add GitHub Enterprise support to the app ?
Idea would be to add a GitHub Enterprise sign in button on launch screen in addition to the sign in button that will ask for the GitHub Enterprise URL and so redirect to the GitHub Enterprise url instead of GitHub.com

View PRs awaiting review from me

Github has a PR list view that displays only the PRs that have requested review from me but which I haven't reviewed. I frequently use this as a code review TODO list. It'd be great to have it available in git-point.

[Suggestion] Add dark theme

This isn't an issue, but more of a wish lish. Dark themes are nice and alot easier on the eyes. Love the app!

Cannot get the app to run in the iOS simulator

Hi, thanks for this amazing project. I wanted to contribute in some way, but can't get the project to run since I am having this error in the packager:

error: bundling: UnableToResolveError: Unable to resolve module `config` from `/Users/frankdilo/projects/git-point/App.js`: Module does not exist in the module map or in these directories:
  /Users/frankdilo/projects/git-point/node_modules

This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
  1. Clear watchman watches: `watchman watch-del-all`.
  2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
  3. Reset packager cache: `rm -fr $TMPDIR/react-*` or `npm start -- --reset-cache`.
    at ResolutionRequest._resolveNodeDependency (/Users/frankdilo/projects/git-point/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:394:11)
    at tryResolveSync (/Users/frankdilo/projects/git-point/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:136:20)
    at tryResolveSync (/Users/frankdilo/projects/git-point/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:66:12)
    at ResolutionRequest.resolveDependency (/Users/frankdilo/projects/git-point/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:134:22)
    at dependencyNames.map.name (/Users/frankdilo/projects/git-point/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:145:59)
    at Array.map (native)
    at ResolutionRequest.resolveModuleDependencies (/Users/frankdilo/projects/git-point/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:145:42)
    at Promise.resolve.then (/Users/frankdilo/projects/git-point/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:169:21)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:169:7)
Bundling `index.ios.js`  25.0% (1/2), failed.

Help getting started in a Windows machine

Hey! I am trying to get this project started on my Windows machine to see if I could tackle an issue or two. RIght now I am having issues with the installation process, yarn run link:

Looks like you installed react-native globally, maybe you meant react-native-cli?
To fix the issue, run:
npm uninstall -g react-native
npm install -g react-native-cli

Running those two npm commands fixed nothing. Before forking the application, I did not have anything React Native installed on my machine. Any suggestions will help, thank you!

Fix status bar

Screens that use a profile component (repository screen/user profile screen) should have white status bar text. Currently, the text is dark.

I've already exposed a barColor prop to modify this attribute in the ViewContainer component which is the wrapper for all screens in the application. However simply changing the value doesn't correctly change the status bar colour as it should, and this probably has to do with how we have nested stack navigations within tabs so it's most likely being overwritten.

Backlog!

Hey @housseindjirdeh I've seen quite some new issues in the project, what do you think about having a Roadmap with the most urgent features? I think we can use Github projects to make this happen.

Thanks!

Repository list for logged in user doesn't show private repos

When clicking Repositories on the authenticated user profile screen, the list of repositories that shows is only public (unless actually searched for --> that call will show a private repo)

This is most likely due to endpoint that's hit by getRepositories in the user.actions. Although /users/${user}/repos is correct for other users --> we'll have to conditionally set the endpoint to be /user/repos for the authenticated user in order to see private repos in the list.

Syntax highlighting

Would be nice to have syntax highlighting for repository and pull request code in the app. For pull request diffs - this probably isn't trivial at all with they way I've set it up but worth looking into if we have the time :)

Definitely not a high priority however.

View commits

As of currently, actual commit information can't be viewed anywhere in the application. You may have already noticed that you can't even click a commit in the notifications screen to view it's details.

Would definitely be nice to:

  • have the number of commits when viewing the diff of a pull request be clickable
  • have commits that show in the notifications screen be clickable
  • add number of commits in the repository screen - also clickable

Clicking either would navigate to a list of commits screen (CommitsListScreen for example) and clicking each commit would take you to a commit details screen (CommitScreenfor example which can look the same as PullRequestDiff screen).

Showing commit comments might be a bit more tricky and it's something we can do as a separate ticket once this gets added in.

Pull Request Review Comments

Currently, pull request review comments don't show at all when viewing a PR. Not too sure how we want to include this functionality design-wise just yet, but this is definitely something we need to have. Open to all kinds of suggestions!

Add submit new issue functionality

Thank you @FlorianTaut for suggesting this :)

Will be awesome to be able to do this. Here's what I'm envisioning on the IssueListScreen:

Only in the that screen --> add a + icon to the top right corner and when clicked it takes you to a form type screen that looks just like PullDiffScreen. An issue title input and an issue description input and a simple list item for Submit new issue.

Please take a look at how I added a cog icon to the top right in the PullDiffScreen to get an idea of how I added a top right icon with actions in the navbar.

Once the API is hit and successful - we can use the response to navigate directly to the newly submitted issue. We can rely on the awesome work done by @mikekavouras and show the loading-modal until the call is complete similar to how he handled forking in #50.

Show own Issues and Pulls

Hey,

it would be nice to have those Buttons on the personal Settings page:
thumbnail_file

Those are the opened issues and PRs of the user.

Thank you

Add share functionality

Could be useful to have a share link associated to repositories, users and issues that would allow us to share the actual github link.

For repositories and users, share can be added to the ActionSheet that opens when clicking the menu icon. However for issues we might have to add a share icon somewhere. Always open to suggestions of course.

Add onboarding swiper as welcome screen

Our current welcome screen before a user logs in:

I quite like it, but I think having a welcome swiper explaining the different things the app could do would be even better ๐Ÿค“

For example: the Slack mobile app

image

The Product Hunt app

Doesn't have to be as anything as complicated as those options - they're just for reference.

Some points however:

  1. react-native-swiper seems to be an excellent library that can do just this
  2. I like the idea of having the Sign In button at the bottom always so even though the user can continue to swipe, they can always just click the sign in button
  3. I'll leave the floor open for design suggestions. Something simple with a top title (Control your notifications for example, a GitHub octicon in the middle and a mini blurb below (View and control all of your unread and participating notifications. for example is what I'm envisioning. Feel free to just lift copy from the landing page

Always open to further ideas and suggestions of course <3

App store device compat

At the moment the phone app is available in the appstore also for ipad.

As the app on ipad is only a scaled up version of the phone version (at the time of writing) the app should instead define that its only compatible for iphone not ipad

Re-navigating back to the same screen does not reload state

Since the app has nested navigation throughout, most of the screens can be accessed through each of the tabs. Moreover, the same screen can easily be accessed in the same stack.

To reproduce this bug, there are 2 ways:

1

  1. In any tab, navigate to any screen (for example: user profile)
  2. Switch to a different tab, navigate to the same screen (for example: user profile for a different user)
  3. Switch back the first tab and you'll notice that the correct state isn't shown

2

  1. navigate to repository screen (as an example)
  2. click any contributor to navigate to user profile screen
  3. click number of repos to navigate to repository list screen
  4. click a repository to navigate to the repository screen
  5. go back multiple times until you reach the first repository screen you accesed -- you'll notice that the correct state isn't shown

This can be solved by essentially reloading component state whenever it comes into focus and there's an issue open for that in React Navigation.

One thing I've tried is wrapping a HOC in the meantime that exposes a isFocused prop, but I couldn't have this working without the component state being fired multiple times every time the screen was focused.

Open to suggestions of any kind!

Can't run the project

I follow the steps under CONTRIBUTING.md but couldn't run the project. What I'm seeing is this:

No bundle URL present.
Make sure you're running a package server or have included a .jsbundle file in your application bundle

Any idea what could be wrong?

Thanks!

Pinned repositories

Hi,

This app looks promising, great work! ๐Ÿ‘
It would be nice to have the pinned repositories on a user profil ๐Ÿ˜ƒ

Show last search results

It would be helpful to show the last search results or last watched repos when starting a new search request

User profile description is missing

When you open your profile, the user description is missing.

I'd love to work on this feature, let me know if I can do it.

Also, thanks for making this project, it's awesome!!!

Update profile details

Would be nice to have a settings icon on the authenticated user's profile screen (AuthProfileScreen) that opens a modal screen with a form of sorts that allows you to update settings in your profile such as:

  • Profile Image (select from the photo library + take photo (if that's not too complicated) - we can have a separate ticket for this because I'm not sure if the API makes this easy)
  • Name
  • Email
  • Website

We may also want to allow updating of the following:

  • Bio
  • Company
  • Toronto

But we can do this as part of a separate ticket and only if we decide to include them in the user profile screen

Add filters for search

Would be awesome to allow the user to filter for Best Match Most Stars etc... for repository search and the same for users (Most Followers, etc...).

Will need to do the same for issue search when that gets added in to the app as well #12.

Watch repos

I see that right now is not possible to watch any repos (only star repos is available)

I'd like to work on this feature too.

Thanks!

add logout functionality

So we can't logout of the app right now :). Currently users have to delete the app and redownload in order to sign in with another account.

We can just navigate the user to the initial welcome screen (might be worth clearing our persisted store too).

Images not rendering

Hey,

It would be nice to be able to create issues with GitPoint.

Another point is that rendering is not working correctly. Images are not displayed only the code behind the image is displayed.

Great app!

Thank you!

Allow for editing code

Something I've been thinking about adding for some time: editing and updating files in a repo. Still not 100% sure how exactly we would do this but opening this issue for discussion/tracking.

Squashing commits

Hey @housseindjirdeh! Thanks for the super awesome project, I really like it!

What about only allowing squash merges on the repo, that will give us a cleaner commit history + it's easier to track bugs, what do you think?

Android Version

Since this is built with React Native, it only makes sense to include an Android version.

Unfortunately, I haven't once tried running the application on a Android emulator or device so there is definitely going to be quite a bit that needs to be done to have it working smoothly across both platforms.

Show Releases

Hey,

it would be cool to view the Releases of repositories.

For example between Stars and Forks or below:
thumbnail_file

I marked the to Points that seem possible to me.

Thank you

Reactions

So I spent a bit of time some while ago working on adding reactions. This is all in the with-reactions branch of the repo. Keep in mind this is a much older branch and there have been a lot of changes since than on master, but I feel we can port our logic from there when we're ready.

This is what I had working:

gitpoint-reactions

You'll notice Slack inspiration there :P

An important thing to point out is that the Reactions APIs are still in development preview. Definitely worth discussing if we wouldn't mind including it now and changing it in the future or if that's not the safest option just yet.

Looking forward to having this rolled out eventually. Discussions/contributions are always welcome :)

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.