-
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
- WEB UI
- Telegram Bots
3.1 CS Wiki Search Bot
3.2 CS Wiki Media Bot
- Translator
Core service is API for interacting with database.
Powered by Nginx and React. Allow to get, add, edit and delete object in database.
CS Wiki Search Bot - that bot allows you to search information in database.
CS Wiki Media Bot - that bot allows you to edit data, stored in database.
Background name field translator. This use Yandex Translator for translating.