Основная цель: Создать прложение которое будет включать в себя как клиентскую часть (в моем случае клиент - Vue SPA), так и серверную часть (Python/Flask).
Бекенд будет получать данные из биржи freelancehunt.com. Через предоставляемый биржой публичный API 2.0 и дальше отдавать полученные данные в JSON формате на клиент.
Дополнительные задачи:
- Создать модуль для парсинга других бирж фриланса;
- Создать модули для парсинга работных сайтов;
- Создать кабинет пользователя для сохранения вакансий/заказов и манипулирования с ними;
Client Technology | Version | Server Technology | Version | OS |
---|---|---|---|---|
Node.js | 13.5.0 | Python | 3.6.9 | Ubuntu 18.04.4 |
npm | 6.13.4 | Flask | 1.1.1 | |
Vue.js | 2.6.11 | Flask-RESTful | 0.3.8 | |
Buefy | 0.8.12 | ORM Peewee | 3.13.3 |
- Для начала необходимо с корня проекта перейти в папку с клиентской частью, выполнив команду
cd Client
- Выполнить установку зависимотей для проекта (если они еще не установлены)
npm install
- Запустить сервер для разработки (hot-reloads)
npm run serve
После чего в браузере по адресу http://localhost:8080 должно быть запущено клиентское SPA приложение.
- Для сборки проекта на продакшен выполнить команду
npm run build
- Для линтинга выполнить команду
npm run lint
Обязательным условием запуска всего проекта являеться включение в серверное приложение токенa,
по которому осуществляеться доступ к Freelancehunt API 2.0.
Чтобы получить токен, зарегистрируйтесь на бирже и перейдите по ссылке для получения персонального токена.
А дальше нужно создать в корне проекта Server
файл .env
(показано на картинке) и поместить туда сгенерированный биржей токен, а также секретный ключ (это строка) для работы Flask-JWT-Extended.
#.env
FREELANCEHUNT_API_KEY=ваш токен
JWT_SECRET_KEY = 'ваш_секретеый_ключ'
- Для запуска приложения необходимо с корня проекта перейти в папку с серверной частью, выполнив команду
cd Server
- Затем необходимо выполнить активацию виртуального окружения
source venv/bin/activate
- После чего нужно установить все зависимости (если они еще не установлены), которые находяться в ф-ле requierments.txt
При установке зависимостей может возникнуть ошибка. Тогда в ф-леrequierments.txt
нужно удалить строкуpkg-resources==0.0.0
pip install -r requierments.txt
- И запустить приложение командой
python run.py
После чего в браузере по адресу http://127.0.0.1:5000/api/v1/curent_profile можно увидеть ответ сервера с полученными данными от биржи freelancehunt.com в JSON формате.