diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-11-25 13:47:55 +0400 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-11-25 13:47:55 +0400 |
commit | 7cc8459d439c58b300ce970caa5d1f2ae2675e01 (patch) | |
tree | b1b47695947fec1d8a96817569582cd8595b0155 /doc/development | |
parent | 9c4ed864d53a60273fd1de08acb63246fb42967c (diff) |
Start writing doc about GitLab architecture for developers
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'doc/development')
-rw-r--r-- | doc/development/architecture.md | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/development/architecture.md b/doc/development/architecture.md new file mode 100644 index 00000000000..db22f0bda85 --- /dev/null +++ b/doc/development/architecture.md @@ -0,0 +1,23 @@ +# GitLab project architecture + +GitLab project consists of two parts: GitLab and GitLab shell. + +## GitLab + +Web application with background jobs workers. +Provides you with UI and most of functionality. +For some operations like repo creation - uses GitLab shell. + +Uses: + * Ruby as main language for application code and most libraries. + * [Rails](http://rubyonrails.org/) web framework as main framework for application. + * Mysql or postgres as main databases. Used for persistent data storage(users, project, issues etc). + * Redis database. Used for cache and exchange data between some components. + * Python2 because of [pygments](http://pygments.org/) as code syntax highlighter. + +## GitLab shell + +Command line ruby application. Used by GitLab through shell commands. +It provides interface to all kind of manipulations with repositories and ssh keys. +Full list of commands you can find in README of GitLab shell repo. +Works on pure ruby and do not require any additional software. |