Commit 7cc8459d439c58b300ce970caa5d1f2ae2675e01

Authored by Dmitriy Zaporozhets
1 parent 9c4ed864

Start writing doc about GitLab architecture for developers

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing 1 changed file with 23 additions and 0 deletions   Show diff stats
doc/development/architecture.md 0 → 100644
@@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
  1 +# GitLab project architecture
  2 +
  3 +GitLab project consists of two parts: GitLab and GitLab shell.
  4 +
  5 +## GitLab
  6 +
  7 +Web application with background jobs workers.
  8 +Provides you with UI and most of functionality.
  9 +For some operations like repo creation - uses GitLab shell.
  10 +
  11 +Uses:
  12 + * Ruby as main language for application code and most libraries.
  13 + * [Rails](http://rubyonrails.org/) web framework as main framework for application.
  14 + * Mysql or postgres as main databases. Used for persistent data storage(users, project, issues etc).
  15 + * Redis database. Used for cache and exchange data between some components.
  16 + * Python2 because of [pygments](http://pygments.org/) as code syntax highlighter.
  17 +
  18 +## GitLab shell
  19 +
  20 +Command line ruby application. Used by GitLab through shell commands.
  21 +It provides interface to all kind of manipulations with repositories and ssh keys.
  22 +Full list of commands you can find in README of GitLab shell repo.
  23 +Works on pure ruby and do not require any additional software.