Skip to content

Flutter app that implements Push Notifications with Django Channels using websocket protocol.

Notifications You must be signed in to change notification settings

anandhakrishnanaji/PushNotifications

Repository files navigation

push_notification_app

Flutter app that implements Push Notifications with Django Channels using websocket protocol.Uses Libraries flutter_local_notifications and web_socket_channel.

Getting Started

Setup Django Locally

Requirements

  • Django==3.0.7
  • channels==2.4.0
  • channels-redis==2.4.2
  • Install Redis
  • Run ifconfig and obtain IP_ADDRESS
  • Run python3 manage.py runserver [IP_ADDRESS]:8000

Setup Flutter app

Requirements

  • Flutter 1.17.5
  • Change the URL inside main.dart to ws://[IP_ADDRESS]:8000/ws/notify/
  • Connect the device and the system to a single network.
  • Run flutter run

Libraries used in Flutter

Web Socket Channel

Web Socket Channel library is a flutter library that helps in creating a websocket connection with a server. Websockets helps in retaining the connection unlike a http request which also helps in 2 way communication, by which the server sends the message to the client. It provides a StreamChannel wrapper for websocket connections. In the app I've used a StreamSubscription to listen to messages from server.

Flutter Local Notifications

Flutter Local Notification is a flutter library that helps in making push notifications available to a flutter app.When a message is recieved from the server, it notifies by displaying a push notification with vibration and sound.The push notification is available even when the app is in background.

Libraries used in Django

Django Channels

Django channels is a python library for Django which extends Django's capability and adds an asynchronous channel layer, which helps in 2 way communication.

About

Flutter app that implements Push Notifications with Django Channels using websocket protocol.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published