All Projects → codyparker → Channels Obstruction

codyparker / Channels Obstruction

Licence: mit
A simple game of Obstruction created to explore Django + Django Channels + ReactJS

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Channels Obstruction

mubapp
MUB is a multi-user blog web app using the Python-Django infrastructure.
Stars: ✭ 24 (-72.09%)
Mutual labels:  django-framework
Learning-Path-Learn-Web-Development-with-Python
Get started with Python programming and Django web development
Stars: ✭ 23 (-73.26%)
Mutual labels:  django-framework
Spirit
Spirit is a modern Python based forum built on top of Django framework
Stars: ✭ 1,045 (+1115.12%)
Mutual labels:  django-framework
csf
ArmourBird CSF - Container Security Framework
Stars: ✭ 48 (-44.19%)
Mutual labels:  django-framework
webempresa
Repositorio de la Web Empresarial del curso Django (revisado en la versión 4.0.2 con Python 3.10.2)
Stars: ✭ 17 (-80.23%)
Mutual labels:  django-framework
Django Ledger
A bookkeeping & financial analysis engine for the Django Framework. UNDER ACTIVE DEVELOPMENT & NOT STABLE YET.
Stars: ✭ 253 (+194.19%)
Mutual labels:  django-framework
Facebook-phishing
Phishing Facebook Page in Django Code(Python Based)
Stars: ✭ 129 (+50%)
Mutual labels:  django-framework
Pyarweb
El sitio web de Python Argentina
Stars: ✭ 73 (-15.12%)
Mutual labels:  django-framework
Try-Django-3.2
Learn the fundamentals behind one of the most popular web frameworks in the world by building a real project.
Stars: ✭ 181 (+110.47%)
Mutual labels:  django-framework
Guides
Guides for learning + doing better web and app development. Created by Coding for Entrepreneurs.
Stars: ✭ 1,042 (+1111.63%)
Mutual labels:  django-framework
wagtailcmsdemo
Wagtail CMS Demo
Stars: ✭ 19 (-77.91%)
Mutual labels:  django-framework
django-projesini-yayina-alma
Django uygulamasını yayına almak için Türkçe dökümantasyon
Stars: ✭ 98 (+13.95%)
Mutual labels:  django-framework
Django Ajax
Fast and easy AJAX libraries for django applications. Contains ajax decorator, ajax middleware, shortcuts and more.
Stars: ✭ 312 (+262.79%)
Mutual labels:  django-framework
Fenice-Network
Building the job search portal which helps both recruiters and job seekers to get perfect jobs.
Stars: ✭ 20 (-76.74%)
Mutual labels:  django-framework
Thinkdiff
My open source project links, programming and software development related code and tutorials are in this repo. Content types: Python, JavaScript, Dart | Django, React, Flutter, React-Native etc.
Stars: ✭ 65 (-24.42%)
Mutual labels:  django-framework
Deep-learning-model-deploy-with-django
Serving a keras model (neural networks) in a website with the python Django-REST framework.
Stars: ✭ 76 (-11.63%)
Mutual labels:  django-framework
user login and register
user login and register system in django
Stars: ✭ 43 (-50%)
Mutual labels:  django-framework
Awesome Django
Repository mirror of GitLab: https://gitlab.com/rosarior/awesome-django This repository is not monitored for issues, use original at GitLab.
Stars: ✭ 8,527 (+9815.12%)
Mutual labels:  django-framework
Awesome Django Cn
Django 优秀资源大全。
Stars: ✭ 1,153 (+1240.7%)
Mutual labels:  django-framework
E Commerce 2 django
Guest register, user register, user login, user logout, account home page, product view history, change password, reset password, change name, send activation email when register, resend activation email, add shipping address, add billing address, add nickname to the addresses, edit shipping address, edit billing address, view list of your addresses, reuse shipping addresses when order products, reuse billing addresses when ordeer products, show sales analytics if staff or admin only using -chart.js-, get analytics data with Ajax, receive marketing email, change if user will receive marketing email or not by admin, send contact message with Ajax, products list, product detail, download product detail as a PDF file, download digital product files -if the user purchased that digital product only-, orders list, list of digital products files, order detail, download order detail as a PDF file, verify order ownership with Ajax -to secure order detail page-, show cart products, add or remove product from cart, checkout page, thanks page when order placed successfully, add or reuse payment method, add or reuse payment method with Ajax, search products by title, search products by description, search products by price, search products by tag title, write tags for products -by admin only-, auto fill contact email, full name if user logged in.
Stars: ✭ 20 (-76.74%)
Mutual labels:  django-framework

channels-obstruction

A simple game of Obstruction created to explore Django + Django Channels + ReactJS Blog Post and Tutorial at: http://www.codyparker.com/django-channels-with-react

Synopsis

I started this project to explore the Django Channels, which is an upcoming core app that adds asynchronous WebSocket support to the wonderful Django Framework. Channels makes it very easy to build "real-time" apps in pure Django and Python, providing a great way to develop applications that require features such as "real-time" collaboration or chat for example.

Obstruction is a 2-player pen and paper game which involves players taking turns claiming free spots on a grid. The spot they choose, and all surrounding spots are then claimed for that player and can no longer be claimed by another player. The play continues back-and-forth until there are no free spots to claim. The last player to successfully claim a spot, wins the game.

This project also uses React to handle the reactive, client-side components. I picked React because I like it, but it could be swapped out with Angular/Vue/Knockout/etc....

Features

  • Full game functionality:
    • Authentication - Signup / Login
    • Game Lobby with live updating list of available games
    • Ability to create a game that will show up in other users' availiable games list
    • Gameboard that enforces Obstruction rules and allows players to take turns and see the results in real-time
    • Game log that tracks all moves and reports them live as they occur
    • Players can chat in the game log
  • Lobby and Gameboard are made up of ReactJS components on the client-side
  • Examples of how to mix standard Django templating with ReactJS
  • Webpack integration to create separate bundles needed for different parts of the application
  • Django Rest Framework used to help serialize data needed by React as well as provides API endpoints for client-side data calls
  • Mixed use of DRF, standard Django context sent from the view, as well as communication through channels to demostrate multiple ways to interact with data and the Django backend

Requirements

Installation

  • Fork and clone this repository
  • Create a Python virtual environemnt
  • In that environment, run pip install -r requirements.txt inside your project
  • Install node modules with npm install
  • Create the local database with python manage.py migrate
  • Run webpack to build the components with npm run webpack
  • Run Django development server on port 8080 - python manage.py runserver 8080

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].