Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/MarconLP/loggl

Send push notifications to your phone or desktop using HTTP requests
https://github.com/MarconLP/loggl

javascript nextjs react t3 tailwind trpc typescript

Last synced: about 2 months ago
JSON representation

Send push notifications to your phone or desktop using HTTP requests

Awesome Lists containing this project

README

        


Loggl


The self-hostable LogSnag alternative.


Learn more »


Github Stars

Commits-per-month
Pricing
twitter


Website - Issue - Bug report

## Loggl

Loggl is an self-hostable product analytics product. Automate the collection of every event on your website or app, with no need to send data to 3rd parties.

![product cover](https://github.com/marconlp/loggl/blob/main/cover.png)

## Development

### Setup

1. Clone the repo into a public GitHub repository (or fork https://github.com/MarconLP/loggl/fork). If you plan to distribute the code, make sure to comply with our `LICENSE.md`.

```sh
git clone https://github.com/MarconLP/loggl.git
```

2. Go to the project folder

```sh
cd loggl
```

3. Install packages with yarn

```sh
npm i
```

4. Set up your .env file
- Duplicate `.env.example` to `.env`
- Use `openssl rand -base64 32` to generate a key and add it under `NEXTAUTH_SECRET` in the .env file.
-
Fill in the other variables

Configure DATABASE_URL

1. Open [Railway](https://railway.app/) and click "Start a New Project", and select Provision "MySQL".
2. Select the MySQL App and copy the `DATABASE_URL` into the `.env`.



Obtaining the Github API Credentials

1. Open [Github Developer Settings](https://github.com/settings/apps).
2. Next, go to [OAuth Apps](https://github.com/settings/developers) from the side pane. Then click the "New OAuth App" button. Make sure to set `Authorization callback URL` to `/api/auth/callback/github` replacing Loggl URL with the URI at which your application runs.
3. Copy the `Client ID` as `GITHUB_ID` into the `.env`.
4. Next, click "Generate a new client secret" and copy the `Client secret` as `GITHUB_SECRET` into the `.env`.



Obtaining the Firebase Credentials

1. TODO: ADD Firebase documentation


5. Run (in development mode)

```sh
npm run dev
```

[//]: # (### E2E-Testing)

[//]: # (Be sure to set the environment variable `NEXTAUTH_URL` to the correct value. If you are running locally, as the documentation within `.env.example` mentions, the value should be `http://localhost:3000`.)

[//]: # (```sh)

[//]: # (# In a terminal just run:)

[//]: # (npm run test:e2e)

[//]: # (```)

## Deployment

### Vercel

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FMarconLP%2Floggl&env=DATABASE_URL,NEXTAUTH_SECRET,GITHUB_CLIENT_ID,GITHUB_CLIENT_SECRET)

[//]: # (## Contributing)
[//]: # (Please see our contributing guide at `CONTRIBUTING.md`)

## License
Distributed under the Sustainable Use License. See `LICENSE.md` for more information.