{"id":15415704,"url":"https://github.com/parveen1112/notificationsystem","last_synced_at":"2025-04-13T22:45:16.221Z","repository":{"id":98467081,"uuid":"58906642","full_name":"parveen1112/notificationsystem","owner":"parveen1112","description":"Notification System","archived":false,"fork":false,"pushed_at":"2016-05-16T08:14:44.000Z","size":361,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-16T09:15:04.328Z","etag":null,"topics":["bell","notifications","notifications-dropdown","unread-notifications"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parveen1112.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-16T05:41:49.000Z","updated_at":"2023-03-05T04:36:53.000Z","dependencies_parsed_at":"2023-06-01T20:45:43.639Z","dependency_job_id":null,"html_url":"https://github.com/parveen1112/notificationsystem","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"520da3fc616c47bfba453896c1ac41abd5240e76"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parveen1112%2Fnotificationsystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parveen1112%2Fnotificationsystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parveen1112%2Fnotificationsystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parveen1112%2Fnotificationsystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parveen1112","download_url":"https://codeload.github.com/parveen1112/notificationsystem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248794566,"owners_count":21162613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bell","notifications","notifications-dropdown","unread-notifications"],"created_at":"2024-10-01T17:09:20.371Z","updated_at":"2025-04-13T22:45:16.195Z","avatar_url":"https://github.com/parveen1112.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Notification system\n\nNotification system \n\n# Custom Framework\n\nI have created a custom framework over #express for this application. This framework is somewhat similar to sails.\n\napi folder contains middlewares, controllers, models, services.\n\nassets folder contains the static files.\n\nlogs folder will contain the generated log files. I am using winston for logging \u003clib/logger\u003e.\n\nconfigs contains the configuration files.\n\nconfigs/env contains the environment configurations.\n\nGrunt jobs to be define in Gruntfile.js\n\n# Functionality\n\nLogin just requires username.\n\nYou will be able to see the notifications in the dropdown.\n\nWhen you will click on the bell, notication counter will fade, unread notifications and read notifications can be seen in the dropdown.\n\nWhen you will click on the document, notifications dropdown will fade.\n\nWhen you will click on the bell, new notifications will be pushed in the dropdown as unread and will be unread until bell is clicked again.\n\nOn Refreshing all the read and unread notifications can be seen.\n\n\n# Notification System\n\napi folder contains the routes.js which contains the routes and their controllers and middlewares. using this file, we initialize our custom router \u003clib/router\u003e.\n\nWe are using socket.io for PUSH Notifications. Created a perisistence connection manager in lib/persist-connect\n\nWe are using ejs templating. All the views exists in views folder.\n\nconfigs/bootstrap.js initializes our router and persistence connection manager.\n\napi/services/UserStore.js manages all the interaction with User and Notification Models \u003capi/models\u003e.\n\nMantaining Sessions in Memory Store\n\n\n# Steps to start the application\n1. Please install mongodb on your system.\n2. npm install. Install grunt and grunt-cli globally\n3. grunt\n4. node server.js\n\n# How to use\n\n1. Login\n2. Press bell to see notification dropdown. After evry 10seconds you will see a new notification.\n\nIf you are still not able to run it or wish to contribute. Then mail me\n    Parveen Arora - \u003ca href=\"mailto:parveen1112@gmail.com\"\u003eparveen1112@gmail.com\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparveen1112%2Fnotificationsystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparveen1112%2Fnotificationsystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparveen1112%2Fnotificationsystem/lists"}