backend stack for React native - node.js

Thinking of creating an APP in react native that does the following:
Minimal social media w/ feed, pictures, comments, likes, profile
etc.
Redender locations from a Database on a map
store those locations in a database for quick queries
Make API calls from third party source that updates the Database,
database then updates the map.
Messaging / group chat
Search Database
secure
handle payments
Authentication
I have been looking around and there so much information I don't know where to start. There nodes.js, express, hapi, straps,django......
Please can you guys provide some STACK suggestions and reason to why??

Well, I do not see why you need to re-invent the wheel.
Most of the features you need can be implemented via some chat platforms like ConnectyCube. You can use this backend and implement only client-side. I believe it should be easier for you.
The only feature left is payments. This part depends on what you need to use for payments.
If you need to implement in-app purchases and are going to publish your app in AppStore, then you need to set those purchases via Apple.
Otherwise, your app can be rejected by Apple.
Here is some info about in-app purchases.
For Android here is a useful article on setting in-app purchases via Google Play.

Related

How should I build this app over communcation apps?

These days I am finding myself in the position of having to implement for one of my college courses a system that should act as a giant wrapper over many communications apps like Gmail , Facebook Messenger maybe even WhatsApp .To put it simply you should have a giant web interface where you can authorize Gmail , Messenger and use them at once when required. I am thinking of going with an REST API to manage the user's services authorized by OAuth2.Also I am thinking of using Node.JS and Express.js in the backend and React.js in the frontend. I found some sweet libraries in npm that should take care of interacting with the involved APIs(https://www.npmjs.com/package/node-gmail-api this one for instance), but I am also doubtful about this approach , for example I have no idea how to keep the use notified about its incoming mails or messages for example . I am in dire need of some expertise since I forgot to mention but I am quite the newbie in this field. To sum it up for once my question is how would you implement such an infrastructure ? Is it my approach viable or I am bound to hit some really hard to overcome obstacles?
As a college exercise, it would be a really fun experiment, so it definitely worth the time you want to put into it. However, once you want to add more features, the complexity will go up pretty fast.
Here are a couple of ideas you can think of:
It's pretty clear that your system can't do more things than the capabilities exposed by the APIs of communication apps (e.g. you can't have notifications in gmail if the API doesn't have this capability).
For that reason, you should carefully study the APIs and what functionalities they expose. They have public docs that you can check out: (Gmail API, Facebook Messanger API)
Some of the apps you want to communicate with may not have an official API (e.g. WhatsApp) - those kinds of details you definitely want to know from the start.
Based on the analysis of those APIs, you should lay out a list of requirements for your system, which can be extracted from all the APIs, for example: message notifications, file transfers, user profiles, etc.
In this way, you know exactly what capabilities your system should have, and you don't end up implementing a feature that is available only in 1 API out of 4.
Also, it would be a bit challenging to design your system from a user perspective, because the apps have different usage patterns - chat apps, where messages are coming in real-time, vs email, which is not real-time communication. That's just a detail anyway, the gist of your project is to play with those APIs.
Also, it may worth checking out the Gateway Aggergation Pattern, which is related to this project - you may want the user to send a message to multiple apps, by using a single request to your service.

Using stripe connect in development without client id

Hi I'm not sure if its a bad question but I've been trying to look for an answer for some time but just couldn't seem to find one. I am building my first personal project using MERN stack and it is a platform that allows sellers to sell their products to users. I found out that stripe connect is very suitable for this purpose but the documentation says that I must register my business in order to be able to use stripe connect. Given that I'm not actually planning to launch this web app, it is merely for my own learning, is there a way that I can still use stripe connect without having to register? help is very much appreciated thanks
You're more than welcome to use all of Stripe's feature's for testing and learning without having to incorporate first. You can sign up and use our all our APIs including our Connect APIs with test keys:
https://dashboard.stripe.com/register.
A good place to start after signing up is the development quickstart: https://stripe.com/docs/development/quickstart
It might also be worthwhile checking out the many Stripe developer office hours videos available on Youtube: https://www.youtube.com/c/StripeDevelopers/videos
I found out stripe also provides test client id at https://dashboard.stripe.com/test/settings/applications which I can use to integrate stripe connect into my app.

Payments through redirection or through my api in an Vue.js SPA

I am developing an eshop website based on Nuxt.js (Vue) for the frontend and Laravel for the backend.
I am at the stage where the payment is being done and thinking what my options are.
My payments provider offers two options: Redirect and Native.
The first option basically redirects the user from my spa to the payments provider page to fill in their card details and perform the transaction. Afterwards it redirects back to a predefined page. This option although it is really common (pretty much every company uses it) it also has the disadvantage that the spa loses its state.
The second option is to have a form inside my spa that sends the information to my api which finally performs the request to the payment provider and completes the transaction.
I believe the second option is the best in terms of ux but I am mostly writing this question to ask for your thoughts on this mostly related to law terms and security in general.
Note that I won't store any card details in the second case but even then, can this process be a bad thing for my company?
Quick disclosure: I'm new to stackoverflow and don't have the points to add comments.
Are you currently integrated with Braintree? The Drop-in UI is an excellent way to complete a transaction in a Single Page Application without worrying about page re-directs.
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact Braintree Support.

Getstream for mobile apps

I apologize for the question but I don't have the resources to figure it out myself.
I'm looking for features my next iOS / android app should have and as you can imagine, I'm interested on a "pinch of social" that's why getsream seems to be my saver.
After reading the getting started section and the documentation, I found this warning http://getstream.io/docs/#mobile that confuses me.
I supposed getstream is a managed service that takes care of everything letting me use the REST API to build my mobile community within their phones.
Could you please tell me where I'm wrong?
Many thanks
There are two main reasons we do not recommend integrating Getstream client side (i.e. in the browser or on mobile). First, it is hard to guarantee security when you integrate from the client-side, you have to somehow provision tokens for each user's feed (and feeds they want to target with activities http://getstream.io/docs/#targetting), you could also generate an application wide (read/write) token and ship this to all clients but this is also a bad idea for obvious reasons. Second, we do not recommend using Getstream to store all your activity data, you store references to objects in your local database and enrich the activities from getstream at read time (have a look at our integration libraries for Django/Rails).

Is there a simple and clean way to develop and test collaborative Spotify Platform applications?

I have an application I am building for the Spotify Platform that involved communication among individual users of the application. I can not simply have friends download my code and test it unless they are developers. I could create two accounts and have each be a developer. Of course that would involve creating a fake Facebook account against their terms of service. Even if I do this for development, how do I do I share this with my family and friends to get feedback without them applying for a developer account?
What is best practice for developing and testing a collaborative Spotify Platform application?
UPDATE: It looks like Facebook doesn't explicitly not allow multiple accounts by an individual anymore. It simply says: "You will not create more than one personal profile."
Simple answer, find a friend or family member that is willing to fill out the simple form to be a spotify developer :-)

Resources