set-up.md 2.42 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
Set-up
=======


## `Git`


*If you don't have `git` install on your computer, look online and install it 😜.


Then, you can simply clone the project repository:


```bash
git clone git@gitlab.utc.fr:rex-dri/rex-dri.git && cd rex-dri
```




## `docker` and `docker-compose`


This projects takes advantage of `docker` and `docker-compose` to ease the install process, continuous integration, deployments, etc.



!> If you don't have those tools on your computer, you first need to install them. You can do so by following those guides:


- [`docker`](https://docs.docker.com/install/)
- [`docker-compose`](https://docs.docker.com/compose/install/)


Once this is done, don't forget that you need to have docker running before using `docker-compose`. For example, on `Fedora 29` you need to run the following command:


```bash
sudo service docker start
```


Finally you can start-up all `docker` related *stuff* using the command:


```bash
make up--build
```


You can look at the `Makefile` to have more information on that last command and the other ones that are available.


To start all the `docker` images you will then only need to use the `make up` command.



## Initialization


To initialize the database associated with the project, you need to connect to the `backend` image:


```bash
make shell_bakend
```


Then:


- Migrate the `Django` models:


```bash
./manage.py migrate
```


- Create the initial revisions:


```bash
./manage.py createinitialrevisions
```


_NB: this last command should be run everytime you migrate (modify/add) some models._


- _Collectez_ les éléments statiques:


```bash
./manage.py collectstatic
```


When this is done you can exit the `docker` image shell (`CTRL + D`).


## Checking setup


### Backend


Run the commands bellow to check that the backend is setup correctly:


*(Simple check of the setup)*.


```bash
make check_backend
```


*(Run `Python` tests)*


```bash
make test_backend
```


### Frontend


Run the commands bellow to check that the frontend is setup correctly:


*(Build the `React` app)*


```bash
make build_frontend
```


*NB: At the time of the writing of the documentation there is no test for the frontend...*



## You are done


Once the `Docker` images are up (command `make up`), the app is available on [http://localhost:8000](http://localhost:8000).


**Don't miss the other pages of the documentation, in particular [the one about loading 'init' data in the app](init_data).**