Code Monkey home page Code Monkey logo

sourcerer-app's Introduction

Sourcerer  sourcerer.io 

A visual profile for software engineers.

sergey

Features

  • Profile creation with a single click
  • Support of 100 languages (even exotic ones like COBOL)
  • Detection of more than 1,000 libraries in code with per-line statistics
  • Visual presentation your development experience
  • Finally! Summary of all repositories you've contributed to 🎉
  • Interesting facts about yourself

Creating your profile is just the first step for us at Sourcerer. Some of the things on our roadmap include:

  • Engineers to follow and learn from
  • Technology and libraries you should know about
  • Projects that could use your help

Get started

The easiest way to get started is with your open source repos. Go to sourcerer.io/start, and select Build with GitHub and watch your profile build.

For closed source repos, you will need to use this app. If you already created an account using GitHub, you would have received an email with credentials for the app. If not, You will need a new account, which you can get at sourcerer.io/join.

Showcase

chdemko chendaniely lauragift21 maracuja-juice
marisbotero nordes ppapadeas praharshjain

Requirements

  • Web browser

or

  • Linux or macOS or Windows
  • Java 8+ Platform (JRE for Linux and Windows or JDK for macOS)
  • Bash for Windows (git bash should suffice)

Usage

To install sourcerer run the following command in bash:

curl -s https://sourcerer.io/app/install | bash

To run wizard use sourcerer command for macOS and Linux, java -jar sourcerer.jar in folder Users\user\.sourcerer for Windows.

Use parameter --help for additional info.

Internals

The app looks at repos locally on your machine, and then sends stats to sourcerer.io. The best way to verify is to look at the code. Protobuf messages declared in src/main/proto/sourcerer.proto is a good start as it describes the client-server protocol. The Sourcerer app does NOT upload source code anywhere, and it NEVER will.

FAQ

How can I process private repos?

We process only public repos using GitHub OAuth. To process private repos you need to run sourcerer app locally. See Get started for instructions. Sourcerer app sends only statistical information to our servers and never sends code.

Why do you need GitHub permissions?

We use emails to identify commit authorship, read orgs access to get list of public repositories that you've contributed to. You also need to grant access to read this public information from an organization.

Other questions

See sourcerer.io/faq.

Contributing

We love contributions! Check out the Contribution guide for more information. Simplest and really helpful for the community would be contribution meta information to our supported libraries list. If you an author of a library you show definitely add yours to the list or you can help to someone whose work you use.

0 1 2 3 4 5 6 7

Build

To build and run this application locally, you'll need latest versions of Git, Gradle and JDK installed on your computer. From your command line:

# Clone this repository
$ git clone https://github.com/sourcerer-io/sourcerer-app.git

# Go into the repository
$ cd sourcerer-app

# Build
$ gradle build

# Run the app
$ java -jar build/libs/sourcerer-app.jar

License

Sourcerer is under the MIT license. See the LICENSE for more information.

Links

sourcerer-app's People

Contributors

0xflotus avatar 4383 avatar anatolystansler avatar arshadkazmi42 avatar asurkov avatar corruptcomputer avatar dr-nafanya avatar edgarberlinck avatar hermesiss avatar hugogrochau avatar hyphz avatar makrusak avatar mamantoha avatar osilla avatar sergey48k avatar sfat avatar taleh007 avatar thorium avatar yaronskaya 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

sourcerer-app's Issues

Merge commit diff

Persiyanov commit to tensorflow repo (Commit link) has 39 additions and 22 deletions and Python code only.
But APP finds 223427 lines added and 32053 deleted. Also it finds 3036 CPP, 5k tensorflow and so on.
Also this commit leads to 2 'tensorflow' tech entities in commit_stats table.
Anatoly supposes that the reason of such behavior is problem in JGit.

code longevity: warped data collected

There's a tiny error - all longevity is collected for a person who removed a line, author earns nothing. So it's easy to swim if another holds up your head или на чужом горбу в рай ехать.

Autocompletion for paths

When entering a repository path, users should be able to hit TAB for autocomplete, like in bash.

Cannot find repo because stores relative path to repo

When I run sourcerer command, can not find repos I have because path is relative from where I run the 'add' command. So, to update all repos I need to run sourcerer command from all paths I used 'add' command.

can we make CommitCrawler faster?

Here's the timing of CommitCrawler:
is file binary check takes ~20%
get file content (old and new versions): ~40%
toFileHeader: ~25%
Old and new versions of a file are computed for each commit, which is an excess work, since old eventually becomes a new one. If a file content was stored, then it will make 20% faster.
Also it's worth to check whether is_binary check is any faster if we feed a file content instead of stream. I tested on a repo that has a low binary files ratio: 30 vs 2415, and it took 20% of time. I suppose binary check may load a whole file.

longevity fails on bootsrap repo

[e] No line at 35; commit: 6a0a139cdabe9ad24f2dcee3044bb62f8738df15; 'Upgrade to Normalize v3-rc1 in prep for v3 final': Index: 35, Size: 35
java.lang.IndexOutOfBoundsException: Index: 35, Size: 35

Missing #!/usr/bin/env bash in main bash script

The bash script that gets downloaded to ~/.sourcerer/sourcerer is missing the #!/usr/bin/env bash header.

So when I run sourcerer in my terminal I get the following error message:

Failed to execute process '/usr/local/bin/sourcerer'. Reason:
exec: Exec format error
The file '/usr/local/bin/sourcerer' is marked as an executable but could not be run by the operating system.

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.