AlphaPush is a general-purpose push notification service with a PWA client, based on Cloudflare's edge infrastructure.
- Visit the AlphaPush website (URL to be added).
- Sign in using your GitHub account.
- Allow notifications when prompted.
- Copy your unique push token from your user profile.
- Use this token to send push notifications to your devices.
- Instant push notifications to multiple devices
- PWA support for easy installation on mobile and desktop
- Secure authentication via GitHub
- User-specific push tokens for targeted notifications
- Node.js (v20 or later) with latest npm
- Cloudflare account
- GitHub account (for OAuth authentication)
-
Clone the repository:
git clone https://github.com/alkinum/alphapush.git cd alphapush
-
Install dependencies:
npm install
-
Create an OAuth application in your GitHub account and get the client ID and client secret.
-
Create a
.env
file in the root directory with the following variables:GITHUB_CLIENT_ID=your_github_client_id GITHUB_CLIENT_SECRET=your_github_client_secret
AlphaPush uses Cloudflare D1 for its database. Follow these steps to set it up:
-
Log in to your Cloudflare account:
wrangler login
-
Create a D1 database:
wrangler d1 create alphapush-prod
-
Generate drizzle migrations:
npm run db:generate
-
Apply migrations to your production database:
npm run db:migrate:prod
-
Create a KV namespace:
wrangler kv:namespace create alphapush
-
Setup the environment variables:
DB_ID=your_database_id
-
Setup
wrangler.toml
with the following content:kv_namespaces = [ { binding = "KV", id = "your_kv_namespace_id" } ]
-
Start the development server:
npm run dev
-
Open the link to the page from local dev server in your browser.
-
Build the project:
npm run build
-
Deploy to Cloudflare Pages:
npm run deploy
This project utilizes AI-generated code to enhance development efficiency. We leverage advanced language models to assist with code generation, problem-solving, and optimization. While AI contributes to our development process, all code is reviewed and validated by human developers to ensure quality and reliability.
For information about upcoming features and our development roadmap, see the Roadmap section below.
- Add email authentication method
- Allow to filter notifications by category
- Add TTL (Time To Live) option for notifications
For more detailed information about our development plans and progress, please check our full roadmap.
AlphaPush is open-sourced under the MIT license. See the LICENSE file for more information.