README.md 4.37 KB
Newer Older
KangMin An's avatar
KangMin An committed
1
# EUE
2
3
4

## INDEX

5
**0.[프로젝트 명세서](https://github.com/dorakang612/EUE#0-프로젝트-명세서)**</br>
KangMin An's avatar
KangMin An committed
6
7
**1. [프로젝트 구성](https://github.com/dorakang612/EUE#1-프로젝트-구성)</br>**
**2. [프로젝트 설치](https://github.com/dorakang612/EUE#2-프로젝트-설치)**
8

KangMin An's avatar
KangMin An committed
9
10
- 2-1. [Git](https://github.com/dorakang612/EUE#2-1-git)
- 2-2. [Zip File](https://github.com/dorakang612/EUE#2-2-zip-File)
11

KangMin An's avatar
KangMin An committed
12
**3. [프로젝트 실행](https://github.com/dorakang612/EUE#3-프로젝트-실행)**
13

KangMin An's avatar
KangMin An committed
14
15
16
- 3-1. [아두이노](https://github.com/dorakang612/EUE#3-1-아두이노)
- 3-2. [Client (React)](https://github.com/dorakang612/EUE#3-2-client-react)
- 3-3. [Server (Express.js)](https://github.com/dorakang612/EUE#3-3-server-expressjs)
17

18
<br>
19
20
21

---

KangMin An's avatar
KangMin An committed
22
## 0. 프로젝트 명세서
23
24
25
26
27
28

- [API 명세](https://github.com/dorakang612/EUE/blob/master/server/API%EB%AA%85%EC%84%B8%EC%84%9C.md)
- [Data 명세](https://github.com/dorakang612/EUE/blob/master/server/Data%EB%AA%85%EC%84%B8%EC%84%9C.md)

---

29
<br>
30
31
32

## 1. 프로젝트 구성

33
34
      ∟ arduino
         ∟ code
35
36
            ∟ main_inside
            ∟ main_outside
37
38
39
40
41
42
43
44
45
46
47
48
         ∟ info.md
      ∟ client
         ∟ public
         ∟ src
            ∟ components
            ∟ pages
            ∟ utils
      ∟ server
         ∟ data
            ∟ admAddressCode.csv( 출처 : https://sgis.kostat.go.kr›upload›census›adm_code)
         ∟ config
         ∟ src
49
            ∟ controllers
50
            ∟ data_processing
51
52
            ∟ db
            ∟ models
53
54
55
            ∟ routers
            ∟ views

56
57
<br>
<br>
58
59
60

## 2. 프로젝트 설치

61
<br>
62
63
64
65
66
67
68
69
70

### 2-1. Git

깃을 이용할 때는 프로젝트를 다운받을 경로로 이동한 뒤 다음의 명령어를 복사 및 붙여넣기 합니다.

```console
git clone https://github.com/dorakang612/EUE.git
```

71
<br>
72
73
74

**또는**

75
<br>
76
77
78
79
80

### 2-2. Zip File

프로젝트의 zip 파일을 <https://github.com/dorakang612/EUE>에서 받은 뒤 압축을 해제하여 설치합니다.

81
82
<br>
<br>
83
84
85

## 3. 프로젝트 실행

86
<br>
87
88
89
90
91
92
93
94

### 3-1. 아두이노

1. <https://www.arduino.cc/en/software>에서 Arduino IDE를 설치합니다.

   > - 이미 설치를 해두셨다면 바로 아래부터 진행합니다.
   >
   > - 최근에는 Arduino에서 Online IDE를 서비스해주는 것 같습니다. 아두이노를 많이 다루지 않아도 되므로, 필요에 따라 IDE설치 보다 Online IDE를 사용하는 것을 고려해보시기 바랍니다.(해당 내용은 추후 서비스 사용 후 수정 예정)
95
96

<br>
97
98
99

2. 프로젝트에서 다음의 두 파일을 수정합니다.

100
101
   1. arduino/code/main_inside/main_inside.io
   2. arduino/code/main_outside/main_outside.io
102

103
104
105
106
107
   - 수정할 것.
     1. SSID (공유기의 이름)
     2. SSPW (공유기의 비밀번호)
     3. EUEIP (웹사이트 아이피주소)
     4. EUEPORT (웹사이트 포트번호)
108

109
<br>
110
111

3. 아두이노 메인보드를 PC에 연결합니다.
112
113

<br>
114

115
4. 실내용 아두이노 보드에는 main_inside.io를 업로드합니다.
116
117

<br>
118

119
120
121
5. 외부용 아두이노 보드에는 main_inside.io를 업로드합니다.

> 프로젝트를 진행하는데 있어 사용한 모듈 정보는 arduino/info.md를 참고하시면 됩니다.
122
123
124
125
>
> 모듈 정보를 참고하여 RTC 모듈의 시간을 현재 시간으로 설정합니다.

> 2021.08.09 현재 데이터 수집기 동작이 원활하지 않아, 향후 보완 예정입니다.
126

127
<br>
128
129
130

### 3-2. Client (React)

131
1. /client 경로로 이동하여 다음의 명령어를 실행합니다.
132

133
134
135
   ```console
   npm install
   ```
136

137
138
<br>

139
2. /client 경로에서 다음의 명령어를 실행하여 Client를 동작시킵니다.
140
141

   ```console
142
   npm start
143
144
   ```

145
146
<br>

147
### 3-3. Server (Express.js)
148
149
150

<br>

151
1. /server 경로상으로 이동한 뒤 다음의 명령어를 실행합니다.
152
153

   ```console
154
   npm install
155
156
   ```

157
158
   위의 명령어를 통해 프로젝트가 사용하는 모든 node module들을 설치합니다.

159
160
<br>

161
2. PostgreSQL을 통해 Database를 생성합니다.
162

163
164
165
   각자의 OS에 맞는 방법으로 PostgreSQL 서버에 접속해 주신 뒤, DataBase를 생성해줍니다.

<br>
166

167
3. /server/config 경로에 있는 config_public.js를 복사하여 config.js를 생성하고, 자신의 환경에 맞도록 변수들의 값을 입력합니다.
168
169
170

<br>

171
4. /server 경로상에서 다음을 입력해 서버를 시작합니다. (개발용 서버 동작)
172
173
174
175

   ```console
   npm run dev:server
   ```