# Magic Notifications documentation > Magic Notifications brings in-app and OneSignal push notifications to a Magic app through one facade, with polling, realtime delivery and preferences. ## Getting Started - [Installation](https://anilcancakir.com/magic/docs/notifications/getting-started/installation.md): Add Magic Notifications to a Magic app, register its provider, and wire the platform files a push needs to reach a device. - [Configuration](https://anilcancakir.com/magic/docs/notifications/getting-started/configuration.md): Every notifications.* config key the package reads, what each one defaults to, and the behaviour behind it. ## The Basics - [Channels](https://anilcancakir.com/magic/docs/notifications/basics/channels.md): How a notification reaches its channels: the NotificationChannel contract, the database and push channels the package registers, and how to add your own. - [Drivers](https://anilcancakir.com/magic/docs/notifications/basics/drivers.md): The push driver layer: the PushDriver contract, the OneSignal drivers for mobile and web, how the right one is chosen, and how to supply your own. - [Preferences](https://anilcancakir.com/magic/docs/notifications/basics/preferences.md): How a person's notification opt-ins are modelled, which backend endpoints the shipped preferences screen talks to, and the push prompt component that asks for… - [Laravel Backend Setup](https://anilcancakir.com/magic/docs/notifications/basics/laravel-backend-setup.md): The backend contract Magic Notifications reads from, and a worked Laravel implementation of it: the notifications API, preference matrix, OneSignal push… - [Shipping push in a release build](https://anilcancakir.com/magic/docs/notifications/basics/shipping-push.md): The differences between a development build and a release build that stop push from arriving without any error, and how to check each before you submit. - [CLI Reference](https://anilcancakir.com/magic/docs/notifications/basics/cli.md): Every notifications:* command Magic Notifications adds to dowel, with its flags, defaults and what it changes in the project. - [Notification Dropdown](https://anilcancakir.com/magic/docs/notifications/basics/notification-dropdown.md): The NotificationDropdown bell: an unread badge over a notification stream, a popover panel listing the rows, its callbacks and how to restyle it. ## Architecture - [Notification Manager](https://anilcancakir.com/magic/docs/notifications/architecture/notification-manager.md): How NotificationManager orchestrates channels, the push driver, polling, realtime delivery and the in-app notification stream. - [Service Provider](https://anilcancakir.com/magic/docs/notifications/architecture/service-provider.md): How NotificationServiceProvider binds the notification manager into Magic's container and wires the push driver during boot. ## Optional - [Magic Notifications](https://anilcancakir.com/magic/notifications): the package landing page - [Full documentation](https://anilcancakir.com/magic/docs/notifications/llms-full.txt): every page in one file