update readme

This commit is contained in:
Carl-Gerhard Lindesvärd
2023-11-04 13:43:21 +01:00
parent f5670253bc
commit 3c7c47c5b1

View File

@@ -4,11 +4,12 @@
# mixan
Mixan is a simple analytics tool for logging events on web and react-native. My goal is to make a minimal mixpanel copy with the most basic features (for now).
Mixan is a simple analytics tool for logging events on web and react-native. My goal is to make a minimal mixpanel copy with the most basic features (for now).
* Easy to use
* Own your own data
* GDPR friendly
- Easy to use
- Fully responsive UI
- Own your own data
- GDPR friendly
## Whats left?
@@ -16,32 +17,32 @@ Mixan is a simple analytics tool for logging events on web and react-native. My
### GUI
* [X] Fix tables on settings
* [ ] Rename event label
* [ ] Real time data (mostly screen_views stats)
* [ ] Active users (5min, 10min, 30min)
* [X] Save report to a specific dashboard
* [X] View events in a list
* [ ] Simple filters
* [ ] View profiles in a list
* [ ] Invite users
* [ ] Drag n Drop reports on dashboard
* [ ] Manage dashboards
* [ ] Support more chart types
* [X] Bar
* [ ] Pie
* [ ] Area
* [ ] Support funnels
* [ ] Support multiple breakdowns
* [ ] Aggregations (sum, average...)
- [x] Fix tables on settings
- [ ] Rename event label
- [ ] Real time data (mostly screen_views stats)
- [ ] Active users (5min, 10min, 30min)
- [x] Save report to a specific dashboard
- [x] View events in a list
- [ ] Simple filters
- [*] View profiles in a list
- [ ] Invite users
- [ ] Drag n Drop reports on dashboard
- [ ] Manage dashboards
- [ ] Support more chart types
- [x] Bar
- [ ] Pie
- [ ] Area
- [ ] Support funnels
- [ ] Support multiple breakdowns
- [ ] Aggregations (sum, average...)
### SDK
* [ ] Store duration on screen view events (can be done in backend as well)
* [ ] Create native sdk
* [ ] Handle sessions
* [ ] Create web sdk
* [ ] Screen view function should take in title, path and parse query string (especially utm tags)
- [*] Store duration on screen view events (can be done in backend as well)
- [ ] Create native sdk
- [ ] Handle sessions
- [ ] Create web sdk
- [ ] Screen view function should take in title, path and parse query string (especially utm tags)
## @mixan/sdk
@@ -66,52 +67,62 @@ const mixan = new Mixan({
verbose: false,
saveProfileId(id) {
// Web
localStorage.setItem('@profileId', id)
localStorage.setItem('@profileId', id);
// // react-native-mmkv
// mmkv.setItem('@profileId', id)
},
removeProfileId() {
// Web
localStorage.removeItem('@profileId')
localStorage.removeItem('@profileId');
// // react-native-mmkv
// mmkv.delete('@profileId')
},
getProfileId() {
// Web
return localStorage.getItem('@profileId')
return localStorage.getItem('@profileId');
// // react-native-mmkv
// return mmkv.getString('@profileId')
},
})
});
// Call this before you send any events
// It will create a anonymous profile
// This profile will be merged if you call `setUser` in a later stage
mixan.init();
mixan.setUser({
id: 'id',
first_name: 'John',
last_name: 'Doe',
email: 'john.doe@gmail.com',
properties: {} // any properties
})
properties: {}, // any properties
});
// will upsert 'app_open' on user property and increment it
mixan.increment('app_open')
mixan.increment('app_open');
// will upsert 'app_open' on user property and increment it by 10
mixan.increment('app_open', 10)
// will upsert 'app_open' on user property and decrement it by 2
mixan.decrement('app_open', 2)
mixan.increment('app_open', 10);
// will upsert 'app_open' on user property and decrement it by 2
mixan.decrement('app_open', 2);
// send a sign_in event
mixan.event('sign_in')
// send a sign_in event
mixan.event('sign_in');
// send a sign_in event with properties
// send a sign_in event with properties
mixan.event('sign_in', {
provider: 'gmail'
})
provider: 'gmail',
});
// short hand for 'screen_view', can also take any properties
mixan.screenView('Profile', {
id: '123',
// any other properties, url, public
})
});
// Call this when a user is logged out.
// This will just make sure you do not send
// the associated profile id for the next events
mixan.clear();
```
## @mixan/backend
@@ -123,4 +134,4 @@ Self hosted service for collecting all events. Dockerfile and GUI will be added
![Line chart](images/line.png)
![Bar chart](images/bar.png)
![Dashboard](images/dashboard.png)
![Settings](images/settings.png)
![Settings](images/settings.png)