Skip to content

Commit f8bb4f7

Browse files
hacdiasgitbook-bot
authored andcommittedDec 31, 2018
GitBook: [master] 2 pages modified
1 parent 0169360 commit f8bb4f7

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed
 

‎contributing/builds.md

+23
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,25 @@
11
# Builds
22

3+
## Get the source code
4+
5+
In order to make development easier, the frontend is included in the backend as a [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules). Then, in order to tinker with the sources, start by getting both repos at once with:
6+
7+
```bash
8+
git clone --recurse-submodules https://github.com/filebrowser/filebrowser
9+
```
10+
11+
{% hint style="info" %}
12+
Since it is a submodule, when developing the frontend remember to update the backend repository accordingly.
13+
{% endhint %}
14+
15+
Alternatively, you can download the repositories in two steps with `curl`/`wget`:
16+
17+
```bash
18+
curl -L https://github.com/filebrowser/filebrowser/archive/master.tar.gz | tar xvz
19+
cd filebrowser-master
20+
curl -L https://github.com/filebrowser/frontend/archive/master.tar.gz | tar xvz
21+
mv frontend-master frontend
22+
```
23+
24+
However, note that this approach won't let you push your changes back easily.
25+

‎contributing/project-structure.md

+16
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,18 @@
11
# Project Structure
22

3+
This project is composed of two main repositories, both hosted at GitHub:
4+
5+
* The [**backend**](https://github.com/filebrowser/filebrowser)**,** which is entirely written in [Go](https://golang.org/).
6+
* The [**frontend**](https://github.com/filebrowser/frontend), which is written in [Vue.js](https://vuejs.org/), a framework to produce [JavaScript](https://en.wikipedia.org/wiki/JavaScript), [CSS](https://en.wikipedia.org/wiki/Cascading_Style_Sheets) and [HTML](https://www.w3.org/html/).
7+
8+
This modular approach is meant to make contributing easier for users willing to focus on/reuse only some piece, instead of being forced to analyze the whole project. However, due to the tight coupling required by some features, basic knowledge of both Go and Vue.js is recommended.
9+
10+
* Learn Go: [https://github.com/golang/go/wiki/Learn](https://github.com/golang/go/wiki/Learn)
11+
* Learn Vue.js: [https://vuejs.org/v2/guide/index.html](https://vuejs.org/v2/guide/index.html)
12+
13+
This structure is also valuable for third parties to develop alternative implementations of any of the pieces. E.g. a different frontend can be written using Angular, but keeping the same backend. Equally, a different backend can be written using Python or Ruby, but keeping the same frontend.
14+
15+
16+
17+
18+

0 commit comments

Comments
 (0)
Failed to load comments.