- git clone https://github.com/alpkarakush/tili20.git
- docker-compose up
Simple as that.
- words (word_id, word_text, created_at, author(user_id))
- definitions(word(word_id), description_text, created_at, upvotes, downvotes)
- users(user_id, nickname)
Steps to initiate:
- flask db init
- flask db stamp head
- flask db migrate
- flask db upgrade
- Create a file launch.json in .vscode folder
{
"python.condaPath": "/home/karakush/anaconda3",
"version": "0.2.0",
"configurations": [
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "path_to/tili20/web",
"remoteRoot": "."
}
]
}
]
}
- Run the docker-compose -f docker-compose-dev.yml up
- Attach to docker-compose in vscode begug
- Pull the code to server
- Install requiements.txt
- Assign environment variables in .flaskenv
There are many imporvements to make to this website. Feel free to send PRs and be a part of Neo-Kyrgyz movement.
- Add admin panel for managing words
- OAuth Google, Telegram
- Add kygryz letters in word submission form
- Refactor into blueprints
- Parse the submitted definition to map to other words if they exist in db
- Add sitemap for SEO
- Add google analytics
- Limit per user words at 5 a day (flask-limiter)
- Add caching
- Use this tool to fix errors https://github.com/kyrgyz-nlp/letter_replacer
- Prepare prod and debug configs and corresponding environments
- Write tests
- Prepare CI & CD
- Make a full-text search
- Make a word page to show all definitions of given word
- Integrate Google Translate from KG to RU/ENG
- Make prettier logo
- Customize website design
- Make a created_at date more like whatsapp messages (added 8 minutes ago, ...)
- Add authors pages and make authors nickname clickable in word section
- Add share button
- Export in pretty image format to instagram
- Add text-to-speech
- Make a script scraping often used words, that are not in dictionary
- It might escape news portals, but they often use formal language
- Try to make a scraper that pulls instagram/tik-tok comments, which often contain informal language
- Make a bot that posts Word of the day on social media with pretty image formating