DevMine A developer search engine and source code analysis framework

DevMine aims at providing a search engine for enterprises, organizations or projects looking for software developers having a set of skills that matches their requirements.

To achieve this goal, developers metadata analysis is performed, leveraging content from platforms such as GitHub.

Of course, analyzing only such platforms metadata would not be sufficient to evaluate developers skills. Hence, source code analysis is performed as well to evaluate code quality based on open source contributions.

Learn more

Crawld

crawld is a data crawler and source code repository fetcher. It is able to crawl metadata about source code repositories and developers from websites such as GitHub. All data is then stored into a database. Along with the metadata, it is able to clone repositories source code for further analysis.

Learn more »

Ght2dm

ght2dm is a command line tool to import GHTorrent MongoDB BSON dumps into the DevMine database.

Learn more »

Srccat

srccat is a tool that concatenates source code files from repositories into large tar archives, suitable to store on HDFS for further processing with Hadoop or Spark.

Learn more »

Parsers

Languages parsers are used to parse source code repositories and produce an extended custom abstract syntax tree as JSON, as defined by srcanlzr.

Learn more »

Srctool

srctool is a command line tool to manage source code parsers. It is able to download parsers from a web server, install them and run them.In short, it is a manager for source code parsers.

Learn more »

Repotool

repotool is a command line tool that aggregates source code repositories metadata (such as VCS type, commits and so on) in order to add it to the JSON files produced by srctool.

Learn more »

Srcanlzr

srcanlzr is a source code analyzer. It analyzes a generic JSON representation of the source code, as generated by a source code language parser (only Go and Java parsers exist for now).

Learn more »

Fluxio

fluxio is a command line tool to insert JSON data from its standard input into a PostgreSQL 9.4+ jsonb store and which can also output JSON from the database to its standard output.

Learn more »

Featscomp

featscomp computes features from source code data and developers metadata. A feature in the context of the DevMine project is something like the proficiency of a user in a certain programming language or paradigm, a developer reputation on GitHub and so on.

Learn more »

API-server

devmine is the API server. It provides a JSON RESTful API to provide information computed by various DevMine sub-projects. It is also able to answer queries to rank and filter developers according to some user queries. Say a user wants to find a good Go developer with some experience in Java and functional programming as well, devmine is able to provide an answer to that.

Learn more »

Webapp

webapp is a web front-end to the API server. More precisely, it allows users to actually query the API server using an intuitive, user-friendly interface.

Learn more »