-
Notifications
You must be signed in to change notification settings - Fork 0
Home
CsteerDevops course study project. Wiki-framework is a fillable database in wiki format, deployed using Docker containers. Can be interacted with using either Web UI or Telegram Bots. Currently is being deployed to nginx server.
Last validated changes on develop
branch.
Technologies:
- MongoDB
- Python 3.7 with framework Flask
- React
- Nginx
- Telegram API
Project schema can be found here.
Database document schema.json can be found here
Web UI is accessible through http://188.124.37.185
API documentation (swagger) through http://188.124.37.185:5000/api/wiki/doc
To run this project execute this commands:
curl -O https://raw.githubusercontent.com/CsteerDevops1/wiki-framework/develop/deploy.sh
chmod a+x deploy.sh
./deploy.sh project_dir
If you didn't have docker-compose early, you should logout
and login
in your system account to add your account in docker group.
Then you need to configure .env
files in project_name/telegramBots/initBot/.env
and
project_name/telegramBots/userBot/.env
. Or just create empty files in order to configure them later.
After all run deploy.sh
again. It will continue work.
More information about deployment procedure
You can check that the app is working. Try:
- http://localhost:5000/api/wiki/doc for API testing
- http://localhost:8080 for WEB UI testing
- https://t.me/cs_wiki_search_bot for Search Bot testing
- https://t.me/cs_wiki_media_bot for Edit Bot testing
All project divided into modules. Each module represents a service and contained in own folder.
List of services:
Core service is API for interacting with database. Core service root folder You can run it locally:
docker build -t flask . && docker run --name flask_api -d -p 5000:5000 flask
Written in React
Currently is very WIP
Authors and maintainers: Andrey and Kirill
https://t.me/cs_wiki_search_bot - that bot allows you to search information in database by "name" field with /find somename
command
https://t.me/cs_wiki_media_bot - that bot allows you to edit data, stored in database
Background name field translator. This use Yandex Translator for translating.
Working description:
This is trying to get objects which have empty 'russian_name' field from API every 10 seconds
If it get objects it try to translate 'name' field of each object with 1 second interval
Also it translate 'description' field and put result in 'russian_description' field