This project was made as part of the weekly programming challenge hosted by DevJam. The project was made for learning purposes. Made by Jeb and mihett05.
π
Start: November 26th
π
Deadline: December 2nd 16:00 (4PM) GMT
Create digital artwork on a canvas on the web to share online and also export as images.
- βοΈ User can draw in a
canvas
using the mouse - βοΈ User can change the color
- βοΈ User can change the size of the tool
- βοΈ User can press a button to clear the
canvas
- βοΈ User can save the artwork as an image (
.png
,.jpg
, etc format) - βοΈ User can draw different shapes (
rectangle
,circle
,star
, etc) - βοΈ User can share the artwork on social media
- βοΈ Users can start a game, and compete in a game of Pictionary
- βοΈ Users can like images
- βοΈ Users can go same session and chat
- βοΈ User can upload their artwork to the server
- βοΈ All artworks are listed in Gallery
- β User get 3 words and can choose whitch word to draw
- βοΈ Other users try to guess this word
The app is written in python using Flaks-library. Client communicates with server using post request, sockets and api. Images are drawn using canvas and uploaded to external server using api. "Draw and Guess" -game uses' flask socketIO-sockets.
- Flask - Micro web framework written in python.
- Flask-Socketio - Flask-SocketIO gives Flask applications access to low latency bi-directional communications between the clients and the server.
- Flask-login - Flask-Login provides user session management for Flask.
- Canvas is used for drawing shapes.
- Heroku - Heroku is a cloud platform as a service supporting several programming languages.
This app requires python 3.7+ to run.
Clone git repo
git clone https://github.com/JesperKauppinen/keyboard-race.git
After cloning or downloading this git repo, install required python libraries
pip install -r requirements.txt
run app.py
python app.py
Images are uploaded on imfbb servers.
If you want to save images on the server, you need api key from imgbb. Save api key in environment variable: IMG_BB_API_KEY
.
App is hosted in heroku. To host app in heroku you need to enable heroku-postgresq
. You also need to add the api key as convar environment variable.
Use HEROKU
branch for herou deployment as it also contains Procfile
.
Want to contribute? Awesome!
This project was part of weekly challenges hosted by DevJam and won't be updated.
Maybe you would like to work with us, hit me up and let's talk. :)
- emojipedia - Whatsapp artist-palette emoji for favicon.
- icons8 - Icon in svg.
- emojipedia - Social media sharing buttons.
- Handdrawn - Hand drawn font and icons
MIT