Skip to content

abhidya/QR-Tag

Repository files navigation

QRTAG

Inspiration

Not wanting to lose our childhood favorite games to the mobile era, we decided to re-imagine them in a way that incorporates modern technology and brings to the forefront how technology can improve our social lives.

What it does

Our technology provides a platform for users to engage in social games while providing real time and honest score keeping.

How we built it

Our technology stack includes the following: HTML, JavaScript, CSS, Jquery, Socket.io, Nginx, Gunicorn, Flask, Python, MongoDB, Google Cloud Platform.

We started with the example code for a chat room that comes with Flasks Socket.io and learned how sockets work. We built our own functions, classes, and data structures to make a dynamic platform. Our code runs on the google cloud platform with the domain name qrtag.org.

Our application boasts a custom original score by our team member Conner Shehan.

Challenges we ran into

We faced and overcame many issues in our application development cycle. We found that building a responsive website that incorporates many elements while supporting mobile and desktop platforms to be a bigger issue that we anticipated.

Accomplishments that we're proud of

A platform that works and that can bring people together. We worked as a team through countless servings of caffeine and built an application we are really proud of! What we learned

Teamwork, Communication, and that SoyLent is Acceptable. We also learned a lot about the software development cycle and became more familiar with whats possible in unfamiliar languages.

What's next for QR Tag

More Game Modes such as Capture the flag, Tag, Last one standing, Lazer Quest.

Features such as GeoFencing. Which would be the ability to set a location and boundaries for games. Also the ability to decrease play area as time goes on. Also Merchandise items such QR shirts and QR stickers.

Built With

flask
socket.io
python
html5
mongodb
javascript
css3
google-cloud

Try it out

qrtag.faraway-vision.io
qrtag.org 

Local run notes

This is a legacy Flask-SocketIO/MongoDB game prototype. For local development, use the pinned Pipenv environment if possible:

pipenv install
pipenv run python server.py

The server expects MongoDB at mongodb://localhost:27017/cql8r and uses local development secrets in source. Replace those with deployment-specific secrets before running on a public host.

For an offline HTTP demo, the server now falls back to an in-memory game store and a no-op Socket.IO adapter when Flask-SocketIO, Flask-PyMongo, or MongoDB are not available:

python smoke_test.py

/health reports the active storage/socket mode. Set QRTAG_USE_MONGO=1 and QRTAG_MONGO_URI to use MongoDB.

Demo limitations

  • This is not a static-only browser game; gameplay depends on the Flask server, Socket.IO, and MongoDB.
  • The historical public domains above may be unavailable or stale.
  • QR/camera flows need browser camera permissions and may require HTTPS on mobile browsers outside local development.

About

Tag with phones and QR codes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors