Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-11-25 13:47:55 +0400
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-11-25 13:47:55 +0400
commit7cc8459d439c58b300ce970caa5d1f2ae2675e01 (patch)
treeb1b47695947fec1d8a96817569582cd8595b0155 /doc/development
parent9c4ed864d53a60273fd1de08acb63246fb42967c (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.md23
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.