https://github.com/dukeferdinand/sentinel
A massively over-engineered project to emulate the Sentry platform :)
https://github.com/dukeferdinand/sentinel
react sentry typescript
Last synced: 3 months ago
JSON representation
A massively over-engineered project to emulate the Sentry platform :)
- Host: GitHub
- URL: https://github.com/dukeferdinand/sentinel
- Owner: DukeFerdinand
- Created: 2020-11-26T04:14:00.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-01-03T20:50:14.000Z (over 5 years ago)
- Last Synced: 2025-06-27T21:47:22.283Z (about 1 year ago)
- Topics: react, sentry, typescript
- Language: TypeScript
- Homepage: https://sentinelapp.dev
- Size: 1.13 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Sentinel
[](https://circleci.com/gh/DukeFerdinand/sentinel)
Something of a clone to the ever popular [sentry](sentry.io) error and exception tracker. For legal and support reasons (or if you're not a little crazy like me), give a look to their open source, self-hosted software before you look here :)
The name is 100% a play on the `sentry` name in case that wasn't totally clear!
### TL;DR
```bash
# Clone repo
$ git clone git@github.com:DukeFerdinand/sentinel.git
# Install
$ yarn
# Setup your env
$ cp .env.local.example .env.local # then optionally edit the new .env.local file
# Run
$ yarn dev
# Test
$ yarn test
```
### Motivation
I'm weird, I _really_ like error handling and state management... So after I created a tool for work based on [Rust `Result` enums](https://doc.rust-lang.org/stable/std/result/enum.Result.html) (the tool of course I've stripped, improved for more than just that app, and released as `smartFetch` in my `ts-utils` repo btw), I realized I didn't have anywhere to use my more advanced decorator error hooks :)
In comes Sentinel! It was supposed to be another tool for work, but ultimately we scrapped it and my OSS baby was born! I'm kinda glad we did so I can experiment ;)
### Tech stack
Here's the layout, along with _planned_ features marked with `?` where they aren't actually implemented yet:
#### Frontend
- React + TS
- My ts-utils lib with `smartFetch`
- GQL (apollo)
- Next.js
- Emotion.js
#### Backend
- Next.js serverless functions (GQL, Auth ?)
- Node.js event ingesting functions ?
- MongoDB
#### Planned Integrations ?
- Generic JS module first
- React `HOC`
- Rust crate
- Python package (I use python for MQTT and Pi stuff a lot)
And of course tying it all together...
#### Hosting
UI and most serverless Next.js functions will be shipped via Vercel (parent company of Next.js now) for the first class citizen perks. Sorry Netlify I love you, but not this time. I need that zero effort SSR hosting! :(
Any general ingesting will mostly be serverless Node functions. This could be done with Vercel too, but I have an affinity for GCP because I basically taught it to myself in Grand Central while I was in NYC, though AWS would work too... Ultimately whatever is cheaper because they're just as complicated ;)
### Can I use this?
Sure! If you decide to use it for your own purposes gimme a shout and I'll link you here in the README :)
If for any reason you want to use it _with a company_, give me some company merch and we've got a deal!
Shoutouts and merch are totally optional as this is open source, but throwing back some respect keeps me and the community motivated :)
### Summary
Feel free to use it, just know that there are better funded options out there should you need anything beyond what I (a lone dev) can provide.
This is purely a passion project as well as an experience builder for Full Stack work :)