All Projects → intelligems → django-mobile-app

intelligems / django-mobile-app

Licence: MIT license
A batteries-included mobile app backend in Django

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to django-mobile-app

django-aws-template
Opinionated Django Project Template for AWS deployment
Stars: ✭ 36 (-30.77%)
Mutual labels:  django-rest-framework
ska
Sign data using symmetric-key algorithm encryption. Validate signed data and identify possible validation errors. Uses sha-(1, 224, 256, 385 and 512)/hmac for signature encryption. Custom hash algorithms are allowed. Useful shortcut functions for signing (and validating) dictionaries and URLs.
Stars: ✭ 39 (-25%)
Mutual labels:  django-rest-framework
My Dashboard
A dashboard powered by Django, showing a notepad, scraping news articles and finance data with dash.py
Stars: ✭ 54 (+3.85%)
Mutual labels:  django-rest-framework
rnacentral-webcode
RNAcentral website source code
Stars: ✭ 23 (-55.77%)
Mutual labels:  django-rest-framework
ioTank
Indoor environment monitor based on Esp8266
Stars: ✭ 15 (-71.15%)
Mutual labels:  django-rest-framework
recipeyak
🍛 Application to automate the selection of meals and creation of shopping lists.
Stars: ✭ 23 (-55.77%)
Mutual labels:  django-rest-framework
django-rest-multitokenauth
An extension to Django-Rest-Frameworks Token Authentication, enabling a user to have multiple authorization tokens
Stars: ✭ 13 (-75%)
Mutual labels:  django-rest-framework
Bistu
集成了 django-simpleui 作为 admin 管理主题,实现的一个小型的管理系统,并且有的 django-rest-framework 使用示例。此外有个 Bistu-Ant-Design-Pro 项目作为配套的前端使用。如果喜欢记得给个🌟star哦。
Stars: ✭ 51 (-1.92%)
Mutual labels:  django-rest-framework
django-rest-framework-recaptcha
reCAPTCHA field for Django REST framework serializers
Stars: ✭ 24 (-53.85%)
Mutual labels:  django-rest-framework
ecommerce api
E-commerce by Django Rest Framework
Stars: ✭ 156 (+200%)
Mutual labels:  django-rest-framework
django-user-management
User management model mixins and api views.
Stars: ✭ 56 (+7.69%)
Mutual labels:  django-rest-framework
django-rest-firebase-auth
Use firebase authentication with your django rest framework project
Stars: ✭ 16 (-69.23%)
Mutual labels:  django-rest-framework
django-rest-framework-files
File download and upload support for Django REST framework
Stars: ✭ 29 (-44.23%)
Mutual labels:  django-rest-framework
djburger
Framework for safe and maintainable web-projects.
Stars: ✭ 75 (+44.23%)
Mutual labels:  django-rest-framework
matchering-web
🎚️ Self-Hosted LANDR / eMastered Alternative
Stars: ✭ 25 (-51.92%)
Mutual labels:  django-rest-framework
django-rest-framework-oauth
OAuth support for Django REST Framework
Stars: ✭ 52 (+0%)
Mutual labels:  django-rest-framework
kubernetes-automation-toolkit
This repository contains code examples and documentation for learning how applications can be developed with Kubernetes
Stars: ✭ 51 (-1.92%)
Mutual labels:  django-rest-framework
python-wechat-pay
Use Python3, Django, Django-rest-framework to achieve wechat payment. 微信支付、服务器异步通知、订单查询、退款
Stars: ✭ 18 (-65.38%)
Mutual labels:  django-rest-framework
drf-addons
Some customised Django classes and functions that one can use in DJango. Collected from internet!
Stars: ✭ 20 (-61.54%)
Mutual labels:  django-rest-framework
BrewCenterAPI
An open source api for managing homebrewing related data.
Stars: ✭ 30 (-42.31%)
Mutual labels:  django-rest-framework

Django Mobile App

An easy to use project template in Django 1.11, focused on a custom backend for a mobile app. Build Status

Repository unmaintained

As Intelligems has stopped operations since Aug19, this repository remains unmaintained. Whoever may be interested to keep it up-to-date or extend it, DM koslib to arrange project transfer.

General

This repo acts as a decent starting point for those who are looking for a custom backend deployment for their mobile app. It includes a full-serving django project which exposes a RESTful API, manages user instances and is highly configurable.

In fact, this project is not a package that you can include in your project and use right-away, but it's a project template that you can download, extend and keep working on it as a base for your new project.

3rd-party apps it includes:

  • django-storages, to store files in AWS S3 (the most commonly used object storage)
  • django-allauth, for social media authentication
  • django-anymail[mailgun], to send transactional emails using Mailgun (first 10k messages/month are free)
  • djangorestframework, for the RESTful API
  • django-rest-swagger, to automatically generate documentation for your RESTful API endpoints
  • django-rest-auth, to provide social media authentication over the API
  • django-filters, which provides filtering capabilities in the DRF API views
  • django-guardian, for custom object or model level permissions
  • celery, for background tasks handling. By default, it's expected to be used for device registration on the AWS SNS service.
  • django-extensions, offering a collection of custom extensions for Django
  • django-environ, following the 12-factor methodology

Prerequisites

  • Python3
  • Git
  • pip
  • virtualenv (recommended)

How to use

  1. Clone this repo on your local machine:
git clone https://github.com/intelligems/django-mobile-app
  1. We strongly advise to create a Python virtual environment and install the project requirements in there:
mkvirtualenv <env-name> --python=`which python3`
  1. Install project requirements inside your newly created local virtual environment:
pip install -r requirements.txt
  1. Inside the settings path, create an .env file. Add in there all the environment variables that should be included in the project runtime.
  2. It's time to perform your first database migrations - no worries, we have included them too:
python manage.py migrate
  1. Run the server!
python manage.py runserver 0.0.0.0:80

Registering Push Devices

For the push_devices app usage, you are expected to use the AbstractMobileDevice abstract model. You can extend it and add any fields you wish, but you are not allowed (by Django) to override the same fields that the AbstractMobileDevice model uses.

In order to create a push device, inside the create view of your devices' API, import the sns registration method

from core.mobile_devices.tasks import register_device_on_sns

and use the delay method to register the newly created device on SNS. This will assign the ARN endpoint on the device model, so that you will be able to publish push notifications to your registered push device.

For example:

device = Device.objects.create(**data)
register_device_on_sns.delay(device)
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].