Skip to content

Commit 1a9117e

Browse files
committed
Init
1 parent cf5e65d commit 1a9117e

File tree

248 files changed

+67974
-8
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

248 files changed

+67974
-8
lines changed

.gitignore

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
.DS_Store
1+
# IDE settings
22
.idea
3-
.vscode
4-
node_modules
5-
npm-debug.log
6-
Thumbs.db
7-
todo.md
3+
.DS_Store
4+
*/.DS_Store

Makefile

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Makefile for local development
2+
3+
rebuild_backend:
4+
docker-compose down -v
5+
docker-compose run backend npm run rebuild
6+
7+
start_project:
8+
docker-compose down -v
9+
docker-compose up --build
10+
11+
run_server:
12+
docker-compose down -v
13+
docker-compose up backend --build
14+
15+
run_tests:
16+
cd frontend; echo "...Starting frontend tests" && \
17+
npm run test:unit
18+
19+
run_template:
20+
cd template; echo "...Starting frontend tests" && \
21+
npm start
22+
23+
install_backend_dependencies:
24+
cd backend; echo "...Installing server dependencies" && \
25+
npm install
26+
27+
install_frontend_dependencies:
28+
cd frontend; echo "...Installing client dependencies" && \
29+
npm install
30+
31+
install_template_dependencies:
32+
cd template; echo "...Installing template dependencies" && \
33+
npm install
34+
35+
install_dependencies: install_backend_dependencies install_frontend_dependencies install_template_dependencies

README.md

Lines changed: 187 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,187 @@
1-
# vue-third-work-start-source
2-
Исходники курса «Vue 3» Work
1+
# HTML Academy. Учебный проект «VueWork»
2+
3+
## Начальные требования
4+
- Docker
5+
- Docker-compose
6+
- NodeJS >= 16
7+
8+
## Docker установка
9+
https://docs.docker.com/get-docker/
10+
11+
https://dker.ru/docs/ (рус)
12+
13+
## Docker-compose установка
14+
https://docs.docker.com/compose/install/
15+
16+
## Node js установка
17+
Мы рекоммендуем использовать Node Version Manager для удобного управления версиями node.js
18+
19+
https://github.com/nvm-sh/nvm
20+
21+
Либо можно установить node.js отдельно
22+
23+
https://nodejs.org/en/download/
24+
25+
## Работа с помощью GNU Make
26+
Для удобной работой с проектом мы используем GNU Make.
27+
28+
https://www.gnu.org/software/make/
29+
30+
По-умолчанию, GNU Make уже предустановлен на Unix операционных системах.
31+
Чтобы проверить установлени ли GNU Make на вашем компьютере выполните команду в терминале
32+
33+
```
34+
make --version
35+
```
36+
37+
В случае отстутствия GNU Make, мы рекоммендуем установить его.
38+
39+
В makefile доступны следующие команды
40+
41+
Установить зависимости для проекта
42+
43+
`$ make install_dependencies`
44+
45+
Запустить проект
46+
47+
`$ make start_project`
48+
49+
## Работа без GNU Make
50+
51+
### Frontend установка
52+
53+
- Перейдите в директорию (выполнить из корня приложения)
54+
55+
`cd frontend`
56+
57+
- Установите зависимости
58+
59+
`$ npm install`
60+
61+
В директории `src/frontend` возможно выполнить следующие скрипты:
62+
63+
```
64+
npm run serve - запуск проекта (только клиент) в режиме разработки
65+
npm run build - создание продакшн сборки проекта
66+
npm run test:unit - запуск юнит тестов
67+
npm run lint - запуск линтера
68+
```
69+
70+
### Backend установка
71+
72+
- Перейдите в директорию (выполнить из корня приложения)
73+
74+
`cd backend`
75+
76+
- Установите зависимости
77+
78+
`$ npm install`
79+
80+
- Запуск сервера (для запуска необходима работающая база данных на порте :5432)
81+
82+
`$ npm start`
83+
84+
### Установка шаблона
85+
86+
- Перейдите в директорию (выполнить из корня приложения)
87+
88+
`cd template`
89+
90+
- Установите зависимости
91+
92+
`$ npm install`
93+
94+
- Запуск шаблонов
95+
96+
`$ npm start`
97+
98+
### Docker настройка
99+
100+
- Сборка проекта
101+
102+
`$ docker-compose build`
103+
104+
### Запуск проекта с Docker
105+
106+
`$ docker-compose down -v`
107+
108+
`$ docker-compose up`
109+
110+
Сервер будет доступен по адресу `localhost:3000`
111+
112+
Клиент будет доступен по адресу `localhost:8080`
113+
114+
### Запуск проекта без Docker
115+
116+
| Внимание: требуется ручной запуск базы данных |
117+
|-----------------------------------------------|
118+
119+
- Запуск базы данных
120+
121+
Запустите PostgreSQL базу данных
122+
123+
Обновите конфигурацию подключения базы данных для сервера в файле `backend/src/datasources/database.datasource.ts`
124+
125+
- Запуск сервера (выполнить из корня приложения)
126+
127+
```
128+
cd backend && npm start
129+
```
130+
131+
- Запуск клиента (выполнить из корня приложения)
132+
133+
```
134+
cd frontend && npm run dev
135+
```
136+
137+
Сервер будет доспупен по адресу `localhost:3000`
138+
139+
Клиент будет доспупен по адресу `localhost:8080`
140+
141+
142+
## Вход в приложение
143+
144+
Мы подготовили несколько готовых пользователей в базе данных.
145+
Список пользователей, электронные почты и пароли для входа доступны здесь
146+
```
147+
src/backend/src/factory/dummy-users.json
148+
```
149+
150+
## API документация (OpenAPI)
151+
Документация доступна по адресу
152+
153+
```
154+
http://localhost:3000/explorer/
155+
```
156+
157+
## Запуск и просмотр готовой верстки проекта
158+
159+
### С помощью GNU Make
160+
161+
`$ make install_template_dependencies`
162+
163+
`$ make run_template`
164+
165+
### Без GNU Make
166+
167+
Перейдите в директорию template:
168+
169+
```
170+
cd template
171+
```
172+
173+
Установите зависимости, выполнив команду:
174+
175+
```
176+
npm install
177+
```
178+
179+
Запустите проект командой:
180+
181+
```
182+
npm start
183+
```
184+
185+
Шаблон и вёрстка будут доступны по адресу: `http://localhost:9999`.
186+
187+
Вёрстку можно посмотреть в директории `template/src`.

backend/.dockerignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
node_modules
2+
npm-debug.log
3+
/dist
4+
# Cache used by TypeScript's incremental build
5+
*.tsbuildinfo

backend/.eslintignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
node_modules/
2+
dist/
3+
coverage/
4+
.eslintrc.js

backend/.eslintrc.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
extends: '@loopback/eslint-config',
3+
"parserOptions":
4+
{
5+
"ecmaVersion": 2020
6+
}
7+
};

backend/.gitignore

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
8+
# Runtime data
9+
pids
10+
*.pid
11+
*.seed
12+
*.pid.lock
13+
14+
# Directory for instrumented libs generated by jscoverage/JSCover
15+
lib-cov
16+
17+
# Coverage directory used by tools like istanbul
18+
coverage
19+
20+
# nyc test coverage
21+
.nyc_output
22+
23+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24+
.grunt
25+
26+
# Bower dependency directory (https://bower.io/)
27+
bower_components
28+
29+
# node-waf configuration
30+
.lock-wscript
31+
32+
# Compiled binary addons (http://nodejs.org/api/addons.html)
33+
build/Release
34+
35+
# Dependency directories
36+
node_modules/
37+
jspm_packages/
38+
39+
# Typescript v1 declaration files
40+
typings/
41+
42+
# Optional npm cache directory
43+
.npm
44+
45+
# Optional eslint cache
46+
.eslintcache
47+
48+
# Optional REPL history
49+
.node_repl_history
50+
51+
# Output of 'npm pack'
52+
*.tgz
53+
54+
# Yarn Integrity file
55+
.yarn-integrity
56+
57+
# dotenv environment variables file
58+
.env
59+
60+
# Transpiled JavaScript files from Typescript
61+
/dist
62+
63+
# Cache used by TypeScript's incremental build
64+
*.tsbuildinfo

backend/.npmrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
package-lock=true
2+
scripts-prepend-node-path=true

backend/.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
dist
2+
*.json

backend/.prettierrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"bracketSpacing": false,
3+
"singleQuote": true,
4+
"printWidth": 80,
5+
"trailingComma": "all",
6+
"arrowParens": "avoid"
7+
}

backend/.yo-rc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"@loopback/cli": {
3+
"packageManager": "npm",
4+
"version": "2.15.1"
5+
}
6+
}

backend/DEVELOPING.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Developer's Guide
2+
3+
We use Visual Studio Code for developing LoopBack and recommend the same to our
4+
users.
5+
6+
## VSCode setup
7+
8+
Install the following extensions:
9+
10+
- [eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
11+
- [prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
12+
13+
## Development workflow
14+
15+
### Visual Studio Code
16+
17+
1. Start the build task (Cmd+Shift+B) to run TypeScript compiler in the
18+
background, watching and recompiling files as you change them. Compilation
19+
errors will be shown in the VSCode's "PROBLEMS" window.
20+
21+
2. Execute "Run Rest Task" from the Command Palette (Cmd+Shift+P) to re-run the
22+
test suite and lint the code for both programming and style errors. Linting
23+
errors will be shown in VSCode's "PROBLEMS" window. Failed tests are printed
24+
to terminal output only.
25+
26+
### Other editors/IDEs
27+
28+
1. Open a new terminal window/tab and start the continuous build process via
29+
`npm run build:watch`. It will run TypeScript compiler in watch mode,
30+
recompiling files as you change them. Any compilation errors will be printed
31+
to the terminal.
32+
33+
2. In your main terminal window/tab, run `npm run test:dev` to re-run the test
34+
suite and lint the code for both programming and style errors. You should run
35+
this command manually whenever you have new changes to test. Test failures
36+
and linter errors will be printed to the terminal.

0 commit comments

Comments
 (0)