Post-Match Thread Creator is now a web application!

in #utopian-io8 years ago (edited)

pmtc.png

The last few days I've been busy creating a web application using Flask. I wanted to do this because not everyone has Python installed on their computer, so I wanted it to be possible for people to use a simple web application instead. Since I've never made a website before it took quite a long time, because I had to learn nearly everything from scratch. I'm pretty happy how everything turned out, but I still have quite a lot of ideas on how to improve it (which will happen when I learn how)! The web application can either be found on https://pmtc.herokuapp.com/ or by cloning the repository and running it locally like so

git clone https://github.com/amosbastian/PMTC.git
cd PMTC
pip install requirements.txt
python pmtc/app.py

then navigate to http://localhost:5000/ with your browser of choice!

New features!

I added quite a lot of new features (the entire web application is a new feature haha), of which I will list the most important ones below

  • A simple homepage with links to the GitHub repository, the League of Legends PMTC and the Counter-Strike: Global Offensive PMTC.

    index.png

    I implemented this using Flask and Bootstrap. Once I get a bit better at creating visually pleasing websites I will probably change this, but I think it's pretty nice for a first version.

  • Page for the League of Legends PMTC with input validation, loading spinner and copy to clipboard button.

lol_demo.gif

I implemented the form validation and execution of the Python script to generate the thread using WTForms and Flask. The loading spinner is simple CSS that shows when the Create button is clicked (with valid input) using jQuery. Finally, the copy to clipboard button was created using Clipboard.js, with the rest of the page created using Bootstrap.

  • Page for the League of Legends PMTC with input validation, loading spinner and copy to clipboard button.

demo_csgo.gif

This was implemented the same way as the League of Legends page.

  • Deployment using Heroku

I deployed the web application using Heroku, which can be found https://pmtc.herokuapp.com/. This is my first time using Heroku, so I'm not sure how long it will last since I'm currently using the free package. To host it on Heroku I had to use Gunicorn, which took a while to get working, but eventually I managed somehow.

Technology stack

  • Python using Flask, BeautifulSoup, pycountry, gunicorn and Flask-WTF.
  • Bootstrap
  • jQuery
  • Clipboard.js

Roadmap

As mentioned in the previous posts there are quite a lot of things I still want to implement, like

  • Create the entire thread and not just the scoreboard
  • Button to directly post thread to Reddit instead of copy and pasting
  • Overwatch support (need to research if this is even possible)

There are some other things I want to implement, but for now I want to focus on those three things. Of course I also want to make the website much more visually appealing (and I'm sure there are still quite a lot of bugs that I haven't encountered that I need to fix).

How to contribute?

If you want to contribute to this project you can fork my repository and create a pull request! Anything you can add to the project is valuable to me, be it bug reports, features, graphics or whatever, please don't hesitate!



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @amosbastian I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.100
BTC 63036.76
ETH 1783.98
USDT 1.00
SBD 0.38