• Skip to main content
  • Skip to primary sidebar
BMA

BeMyAficionado

Inspire Affection

HCET Notix – Notification Platform for College

Have you ever felt a need to receive instant notification, documents, news and announcements from your college directly to your mobile phones. What could be done? What is a perfect solution?

When this requirement popped up in my college. I came up with a solution. That solution is Notix. An instant notification platform that send a message, document, announcement, news or any other stuff which is required by the student of the college. It was a great project to work upon using the best in class technologies and our very own GCM (Google Cloud Messaging).

This application has been completely designed keeping in mind all the important aspects which is required to make a scalable application. I have used a distributed design pattern for the development of this application keeping in mind the scalability factor and to make it manageable as it expands. By removing the implementation aspect into a completely different layer, I have managed to create a robust infrastructure that can be managed efficiently.

Service Oriented Architecture

Service Oriented Architecture

Imagine your daily life situation where you go to a shop. You ask for the items and the storekeeper provides you with that. The only difference here is that the shopkeeper will ask you for your identity and authenticate you each time you go to buy some items. The same thing happens here. Each and every request sent to the server is handled by the service layer, which then authenticates the request and provide the requested data from the applications to the client.

The main reason for choosing this architecture was that I wanted to create an application which will be free from vendors, products or technologies. Therefore, by creating a service layer in between I was able to achieve that. This service is a discrete and independent unit of functionality which can be accessed by anyone and from anywhere. Follow the link to read more about the architecture here.

We made use of the REST API. REST stands for REpresentational State Transfer is a way to provide interoperability between different nodes in a network. It follows stateless protocols and therefore provides additional security to the overall system. Each request is served as a new request, therefore, each time user sends a request it is authenticated against the system.

The Notix Website

Notix

To create and manage notifications, there was a need of a platform which can be accessed by everyone from anywhere. The obvious choice for this was an MVC framework that can scale up easily and we straight away went for the Codeigniter. It was the first choice because of its light footprint on low cost server instances.

As this application uses a service based architecture therefore, providing data to the mobile application was very efficient. The notification delivery is entirely handled by Google Cloud Messaging (now, Firebase Cloud Messaging). An always-on GCM instant listens to any new notifications posted by the faculty on the website and subsequently performs the tasks ahead to deliver those notifications to the Android devices of the students.

Google Cloud Messaging

Delivering push notifications on a Phonegap based app is not possible without the Phonegap Push Plugin. This plugin allows the app to register a background service on the device, that can listen to GCM’s pings and receive the payloads. It can even create the notification based on the payload received. So this payload has to be organized specifically on the server-side to properly create notifications on the notification panel of an Android device. You can read the plugin’s documentation on its payloads, here.

The design for this website is made of reusable CSS class components along with helper classes to quickly lay down the pages. We created several views for the faculty to easily manage the notifications and views for the Admins. To bring a consistent look and feel, the SCSS was used along with BEM methodology, which greatly streamlined the overall UI design process for the website. The components (CSS classes) were reusable which allowed us to quickly create the website.

Here’s the link to the website: http://hcetnotix.azurewebsites.net

Final Thoughts

All the programming and architecture design was done by me and my friend in which the UI part was done by my friend and rest of the core coding part was done by me. I remember the night before the presentation. My friend and I were fixing bugs. We were constantly in touch via Slack and fixing up website and application at the same time.

Anyways, we learned a lot about the implementation of the Push Notification and API development. Our experience with the Scalable Design Patterns did came handy while crafting the application.

And as always,

Be my aficionado 🙂

Primary Sidebar

Subscribe to Blog via Email

Do you enjoy the content? Feel free to leave your email with me to receive new content straight to your inbox. I'm an engineer, you can trust me :)

Join 874 other subscribers

Latest Podcasts

Recent Posts

  • Is The Cosmos a Vast Computation?
  • Building Semantic Search for E-commerce Using Product Embeddings and OpenSearch
  • Leader Election with ZooKeeper: Simplifying Distributed Systems Management
  • AWS Serverless Event Driven Data Ingestion from Multiple and Diverse Sources
  • A Step-by-Step Guide to Deploy a Static Website with CloudFront and S3 Using CDK Behind A Custom Domain

Recent Comments

  • Varun Shrivastava on Deploy Lambda Function and API Gateway With Terraform
  • Vaibhav Shrivastava on Deploy Lambda Function and API Gateway With Terraform
  • Varun Shrivastava on Should Girls Wear Short Clothes?
  • D on Should Girls Wear Short Clothes?
  • disqus_X5PikVsRAg on Basic Calculator Leetcode Problem Using Object-Oriented Programming In Java

Categories

  • Blogging
  • Cooking
  • Fashion
  • Finance & Money
  • Programming
  • Reviews
  • Software Quality Assurance
  • Technology
  • Travelling
  • Tutorials
  • Web Hosting
  • Wordpress N SEO

Archives

  • November 2024
  • September 2024
  • July 2024
  • April 2024
  • February 2024
  • November 2023
  • June 2023
  • May 2023
  • April 2023
  • August 2022
  • May 2022
  • April 2022
  • February 2022
  • January 2022
  • November 2021
  • September 2021
  • August 2021
  • June 2021
  • May 2021
  • April 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • February 2020
  • December 2019
  • November 2019
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • January 2019
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016

Tags

Affordable Hosting (4) algorithms (4) amazon (3) aoc-2020 (7) believe in yourself (4) best (4) database (4) earn money blogging (5) education (4) elementary sorting algorithms (4) experience (3) fashion (4) finance (6) Financial Freedom (7) food (7) friends (3) goals (5) google (5) india (10) indian cuisine (5) indian education system (4) java (16) life (16) life changing (4) love (4) make money (3) microservices (9) motivation (4) oops (4) podcast (6) poor education system (4) principles of microservices (5) problem-solving (7) programmer (5) programming (28) python (5) reality (3) seo (6) spring (3) success (10) success factor (4) technology (4) top 5 (7) typescript (3) wordpress (7)

Copyright © 2025 · Be My Aficionado · WordPress · Log in

Go to mobile version