https://www.producthunt.com/posts/scope-6","private":false,"viewCount":457874,"publishedAt":"2020-06-12T16:03:10Z","upvotesCount":15,"decisionType":"freeform","fromTools":[],"toTools":[],"subjectTools":[],"services":[{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773692729304","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231777233002910","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773457672502","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774544144572","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:104331856541518887.company":{"imageUrl":"https://img.stackshare.io/company/16436/default_bc41e940174a90be9ec8786fc9c77f2f71d9d6f5.png","thumbUrl":"https://img.stackshare.io/company/16436/thumb_bc41e940174a90be9ec8786fc9c77f2f71d9d6f5.png","name":"Netbeast","path":"/companies/netbeast","features":[],"__typename":"Company"},"$StackDecision:104331856541518887.link":{"url":"https://www.producthunt.com/posts/scope-6","title":"Scope - Software Engineering Metrics for Engineers and Team Leaders | Product Hunt","__typename":"Link"},"Tool:101231773692729304":{"name":"Amplitude","path":"/amplitude","id":"101231773692729304","imageUrl":"https://img.stackshare.io/service/640/default_51e537c5ed098d3e9aba0eb94299e4575a556aec.jpg","thumbUrl":"https://img.stackshare.io/service/640/thumb_51e537c5ed098d3e9aba0eb94299e4575a556aec.jpg","stacks":891,"fans":828,"votes":36,"followingTool":false,"__typename":"Tool"},"Tool:101231777233002910":{"name":"Vercel","path":"/vercel","id":"101231777233002910","imageUrl":"https://img.stackshare.io/service/7618/bHjpwZem_400x400.png","thumbUrl":"https://img.stackshare.io/service/7618/thumb_bHjpwZem_400x400.png","stacks":1429,"fans":1384,"votes":86,"followingTool":false,"__typename":"Tool"},"Tool:101231773457672502":{"name":"Trello","path":"/trello","id":"101231773457672502","imageUrl":"https://img.stackshare.io/service/109/-CvHThPk_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/109/thumb_-CvHThPk_400x400.jpg","stacks":42996,"fans":41101,"votes":3707,"followingTool":false,"__typename":"Tool"},"Tool:101231774544144572":{"name":"React Native","path":"/react-native","id":"101231774544144572","imageUrl":"https://img.stackshare.io/service/2699/KoK6gHzp.jpg","thumbUrl":"https://img.stackshare.io/service/2699/thumb_KoK6gHzp.jpg","stacks":33476,"fans":34301,"votes":1152,"followingTool":false,"__typename":"Tool"},"$Tool:101231773461393493.stackDecisions({\"first\":6}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:104331856541518887","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:105161931373123661":{"id":"105161931373123661","username":"RandyMoss","title":null,"companyName":null,"imageUrl":"https://img.stackshare.io/user/786921/default_32de6d75242ae80dfd9a09eb2e4c2ce816d62f1b.jpg","thumbUrl":"https://img.stackshare.io/user/786921/thumb_32de6d75242ae80dfd9a09eb2e4c2ce816d62f1b.jpg","displayName":"Randy Moss","__typename":"User"},"StackDecision:105161993903708297":{"user":{"type":"id","generated":false,"id":"User:105161931373123661","typename":"User"},"company":null,"link":null,"publicId":"105161993903708297","id":"105161993903708297","htmlContent":"Hi, we are looking to create a sports app that collects and displays player stats. It will include team chats with push notifications for upcoming games etc. We are thinking of using the standard MERN stack route with a GraphQL API or a real-time Firebase database. Any advice would be greatly appreciated.","private":false,"viewCount":2138141,"publishedAt":"2020-11-06T06:38:02Z","upvotesCount":6,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775212866992","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775212866992","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231775212866992":{"id":"101231775212866992","name":"GraphQL","slug":"graphql","title":"A data query language and runtime","verified":false,"imageUrl":"https://img.stackshare.io/service/3820/12972006.png","canonicalUrl":"/graphql","path":"/graphql","votes":310,"fans":33379,"stacks":33650,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/3820/thumb_12972006.png"},"$Tool:101231773461393493.stackDecisions({\"first\":6}).edges.2":{"node":{"type":"id","generated":false,"id":"StackDecision:105161993903708297","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:101946391012365558":{"id":"101946391012365558","username":"lukasvarkalis","title":"Software Engineer","companyName":"","imageUrl":"https://img.stackshare.io/user/291832/default_f97f7fda1c93e900db32a38de02141f8649e5576.jpeg","thumbUrl":"https://img.stackshare.io/user/291832/thumb_f97f7fda1c93e900db32a38de02141f8649e5576.jpeg","displayName":"Lukas Varkalis","__typename":"User"},"StackDecision:104508278987278100":{"user":{"type":"id","generated":false,"id":"User:101946391012365558","typename":"User"},"company":null,"link":null,"publicId":"104508278987278100","id":"104508278987278100","htmlContent":"Hi all,\n\n
I need advice for object-oriented data analysis. I have exported a collection of users from Firebase to JSON, and I want to analyze it, for example, how many users are females, males, etc. Are there any tools or packages that could help me quickly analyze this data?","private":false,"viewCount":192917,"publishedAt":"2020-07-13T19:49:44Z","upvotesCount":2,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773939333405","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773845103618","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231774641851090","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231773939333405":{"id":"101231773939333405","name":"JavaScript","slug":"javascript","title":"Lightweight, interpreted, object-oriented language with first-class functions","verified":false,"imageUrl":"https://img.stackshare.io/service/1209/javascript.jpeg","canonicalUrl":"/javascript","path":"/javascript","votes":8069,"fans":311406,"stacks":359330,"followingTool":false,"followContext":null,"__typename":"Tool"},"Tool:101231774641851090":{"name":"JSON","path":"/json","id":"101231774641851090","imageUrl":"https://img.stackshare.io/service/2880/1024px-JSON_vector_logo.svg.png","thumbUrl":"https://img.stackshare.io/service/2880/thumb_1024px-JSON_vector_logo.svg.png","stacks":1945,"fans":2290,"votes":9,"followingTool":false,"__typename":"Tool"},"$Tool:101231773461393493.stackDecisions({\"first\":6}).edges.3":{"node":{"type":"id","generated":false,"id":"StackDecision:104508278987278100","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:104541388931529911":{"id":"104541388931529911","username":"Coola","title":"","companyName":"","imageUrl":"https://img.stackshare.io/user/669438/default_a9982031d013d93b605b7f99ea8bca321fa29c6f.jpg","thumbUrl":"https://img.stackshare.io/user/669438/thumb_a9982031d013d93b605b7f99ea8bca321fa29c6f.jpg","displayName":"A M","__typename":"User"},"StackDecision:104586416281735036":{"user":{"type":"id","generated":false,"id":"User:104541388931529911","typename":"User"},"company":null,"link":null,"publicId":"104586416281735036","id":"104586416281735036","htmlContent":"I am setting up a content management system (CMS) in Laravel using #GoogleCloudPlatform. This #CMS will have quite a few polymorphic many-to-many relationships (at least 10) and for that reason I am considering whether I should use Firebase or other #NoSQL databases with Laravel.\n\nI know that there is a laravel-firebase package by Kreait which should allow me to use the firebase as database. My question is therefore:\n\n
\n- Are there any drawbacks to using Firebase with Laravel, which I should be aware of?\n
- Can I possibly use a hybrid model where some data is stored in the SQL database (e.g. user data) while other is stored in Firebase (e.g. the content).\n
- Or should I just stick to MySQL and create the several polymorphic many-to-many relationships?\n
- Should I do both and see what works better?\n\n\n
Any advice is appreciated.","private":false,"viewCount":188760,"publishedAt":"2020-07-27T15:01:04Z","upvotesCount":6,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231777274352317","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773836807964","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773851859414","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231773851859414","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773836807964","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"}],"topics":[{"type":"id","generated":false,"id":"Topic:104476917444819180","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101388607028889807","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988975022535","typename":"Topic"}],"__typename":"StackDecision"},"Tool:101231777274352317":{"id":"101231777274352317","name":"Cloud Firestore","slug":"google-cloud-firestore","title":"NoSQL database built for global apps","verified":true,"imageUrl":"https://img.stackshare.io/service/7696/Untitled-5.png","canonicalUrl":"/google-cloud-firestore","path":"/google-cloud-firestore","votes":111,"fans":1104,"stacks":719,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/7696/thumb_Untitled-5.png","thumbRetinaUrl":"https://img.stackshare.io/service/7696/thumb_retina_Untitled-5.png"},"Tool:101231773836807964":{"id":"101231773836807964","name":"Laravel","slug":"laravel","title":"A PHP Framework For Web Artisans","verified":false,"imageUrl":"https://img.stackshare.io/service/992/AcA2LnWL_400x400.jpg","canonicalUrl":"/laravel","path":"/laravel","votes":3864,"fans":27176,"stacks":27951,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/992/thumb_AcA2LnWL_400x400.jpg"},"Tool:101231773851859414":{"id":"101231773851859414","name":"MySQL","slug":"mysql","title":"The world's most popular open source database","verified":false,"imageUrl":"https://img.stackshare.io/service/1025/logo-mysql-170x170.png","canonicalUrl":"/mysql","path":"/mysql","votes":3753,"fans":122264,"stacks":124965,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/1025/thumb_logo-mysql-170x170.png"},"Topic:104476917444819180":{"name":"NoSQL","id":"104476917444819180","__typename":"Topic"},"Topic:101388607028889807":{"name":"CMS","id":"101388607028889807","__typename":"Topic"},"Topic:101231988975022535":{"name":"GoogleCloudPlatform","id":"101231988975022535","__typename":"Topic"},"$Tool:101231773461393493.stackDecisions({\"first\":6}).edges.4":{"node":{"type":"id","generated":false,"id":"StackDecision:104586416281735036","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:104524668593557330":{"id":"104524668593557330","username":"psiedlak5760","title":"","companyName":"","imageUrl":"https://img.stackshare.io/user/667055/default_09f7c9c93a920e15d22661675d7376cfa0bdb5da.jpg","thumbUrl":"https://img.stackshare.io/user/667055/thumb_09f7c9c93a920e15d22661675d7376cfa0bdb5da.jpg","displayName":"Pawel S","__typename":"User"},"StackDecision:104529557357459047":{"user":{"type":"id","generated":false,"id":"User:104524668593557330","typename":"User"},"company":null,"link":null,"publicId":"104529557357459047","id":"104529557357459047","htmlContent":"
Hi,\n\n
I am in the process of building a mobile application and releasing it to the AppStore.\nCurrently, we're in a TestFlight Beta with ~ 1500 users with a front-end only native iOS app.\nBefore releasing it to production, we would like to add the following functionalities:\n\n
\nUser email authentication\n
Being able to store and synchronise individual user's data ( generated while interacting with the app each day -> \"user session\" ) between various devices\n
Having user session data ( anonymized ) available for an admin via a visual interface for querying, generating insights\n
Simple crud interface for remote configs\n
a/b testing\n
GDPR requirements ( e.g. workflows for removing or exporting user data, ideally a way to keep the anonymized data too ) \n
Integration with 3rd party services like Mailchimp or Mixpanel ( which we already use, data is sent directly from the app )\n\n\nWould appreciate any help with finding the right solution for this case given:\n\n
\nCosts (we don't expect large media files storage)\n
Flexibility to add new features related to the backend in the future\n
Infra setup and maintenance \n\n\n
What I've been thinking so far was one of: 1. BaaS AWS/Firebase 2. Custom backend with PostgreSQL 3. PaaS of a Realm type (mobile app already uses Realm for local persistence) \n\nThanks!","private":false,"viewCount":229015,"publishedAt":"2020-07-17T14:01:06Z","upvotesCount":2,"decisionType":"getAdvice","fromTools":[],"toTools":[],"subjectTools":[{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773853533403","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773902893044","typename":"Tool"}],"services":[{"type":"id","generated":false,"id":"Tool:101231773853533403","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773431684432","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773423818690","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"Tool:101231773853533403":{"id":"101231773853533403","name":"PostgreSQL","slug":"postgresql","title":"A powerful, open source object-relational database system","verified":false,"imageUrl":"https://img.stackshare.io/service/1028/ASOhU5xJ.png","canonicalUrl":"/postgresql","path":"/postgresql","votes":3549,"fans":95182,"stacks":97943,"followingTool":false,"followContext":null,"__typename":"Tool","thumbUrl":"https://img.stackshare.io/service/1028/thumb_ASOhU5xJ.png"},"Tool:101231773431684432":{"name":"Mixpanel","path":"/mixpanel","id":"101231773431684432","imageUrl":"https://img.stackshare.io/service/60/default_a3830bd6c50dcc059aaf3aaf287131b64e0957e2.png","thumbUrl":"https://img.stackshare.io/service/60/thumb_a3830bd6c50dcc059aaf3aaf287131b64e0957e2.png","stacks":7102,"fans":4637,"votes":438,"followingTool":false,"__typename":"Tool"},"Tool:101231773423818690":{"name":"Mailchimp","path":"/mailchimp","id":"101231773423818690","imageUrl":"https://img.stackshare.io/service/47/default_3a2efb58b55346c25d951f68f21e56f8af77c9b8.jpg","thumbUrl":"https://img.stackshare.io/service/47/thumb_3a2efb58b55346c25d951f68f21e56f8af77c9b8.jpg","stacks":22616,"fans":15741,"votes":1172,"followingTool":false,"__typename":"Tool"},"$Tool:101231773461393493.stackDecisions({\"first\":6}).edges.5":{"node":{"type":"id","generated":false,"id":"StackDecision:104529557357459047","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9})":{"count":59,"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.4","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.5","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.6","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.7","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.8","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).pageInfo":{"hasNextPage":true,"endCursor":"OQ","__typename":"PageInfo"},"Tool:101231773849098825":{"imageUrl":"https://img.stackshare.io/service/1020/OYIaJ1KK.png","thumbUrl":"https://img.stackshare.io/service/1020/thumb_OYIaJ1KK.png","thumbRetinaUrl":"https://img.stackshare.io/service/1020/thumb_retina_OYIaJ1KK.png","name":"React","id":"101231773849098825","slug":"react","path":"/react","__typename":"Tool"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.0":{"node":{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773848354670":{"imageUrl":"https://img.stackshare.io/service/1019/square.png","thumbUrl":"https://img.stackshare.io/service/1019/thumb_square.png","thumbRetinaUrl":"https://img.stackshare.io/service/1019/thumb_retina_square.png","name":"AngularJS","id":"101231773848354670","slug":"angularjs","path":"/angularjs","__typename":"Tool"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.1":{"node":{"type":"id","generated":false,"id":"Tool:101231773848354670","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231777036008618":{"imageUrl":"https://img.stackshare.io/service/7180/flutter-mark-square-100.png","thumbUrl":"https://img.stackshare.io/service/7180/thumb_flutter-mark-square-100.png","thumbRetinaUrl":"https://img.stackshare.io/service/7180/thumb_retina_flutter-mark-square-100.png","name":"Flutter","id":"101231777036008618","slug":"flutter","path":"/flutter","__typename":"Tool"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.2":{"node":{"type":"id","generated":false,"id":"Tool:101231777036008618","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773847537497":{"imageUrl":"https://img.stackshare.io/service/1017/Screen_Shot_2012-04-28_at_8.52.15_PM.png","thumbUrl":"https://img.stackshare.io/service/1017/thumb_Screen_Shot_2012-04-28_at_8.52.15_PM.png","thumbRetinaUrl":"https://img.stackshare.io/service/1017/thumb_retina_Screen_Shot_2012-04-28_at_8.52.15_PM.png","name":"Backbone.js","id":"101231773847537497","slug":"backbone","path":"/backbone","__typename":"Tool"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.3":{"node":{"type":"id","generated":false,"id":"Tool:101231773847537497","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231775174055327":{"imageUrl":"https://img.stackshare.io/service/3745/cb8U-gL6_400x400.jpg","thumbUrl":"https://img.stackshare.io/service/3745/thumb_cb8U-gL6_400x400.jpg","thumbRetinaUrl":"https://img.stackshare.io/service/3745/thumb_retina_cb8U-gL6_400x400.jpg","name":"Angular","id":"101231775174055327","slug":"angular","path":"/angular","__typename":"Tool"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.4":{"node":{"type":"id","generated":false,"id":"Tool:101231775174055327","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.5":{"node":{"type":"id","generated":false,"id":"Tool:101231776137461847","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.6":{"node":{"type":"id","generated":false,"id":"Tool:101231773678588190","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773847891619":{"imageUrl":"https://img.stackshare.io/service/1018/3s1seyc0csl75btyw1vl.png","thumbUrl":"https://img.stackshare.io/service/1018/thumb_3s1seyc0csl75btyw1vl.png","thumbRetinaUrl":"https://img.stackshare.io/service/1018/thumb_retina_3s1seyc0csl75btyw1vl.png","name":"Ember.js","id":"101231773847891619","slug":"emberjs","path":"/emberjs","__typename":"Tool"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.7":{"node":{"type":"id","generated":false,"id":"Tool:101231773847891619","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773461393493.allToolIntegrations({\"first\":9}).edges.8":{"node":{"type":"id","generated":false,"id":"Tool:101231777274352317","typename":"Tool"},"__typename":"ToolEdge"}}