I have a project for creating a website alike a social network where users can
For the time being I want a MVP. without native apps on Android and iOS, but a mobile presence to send push notifications is necessary.
So my questions to the community are:
1. what is you recommendation (back end, front end, database, server, mobile framework, notification system, etc) and why?
2. if the MVP is ok, what programming language allows for easy future development?
3. how much time do you estimate?
you might find this article useful for your questions.It is about estimating social media apps.
Regarding your questions, you can use the cross-platform technologies (Xamarin or Ionic) which allow you to reduce cost and time of the development.
For further development better continue using the technologies which are in MVP.
In case you have the technical documentation the estimation takes 3 working days, but if you don't have a specification longer( around a 1,5 week).
If there any questions, or you would like to get the approximate estimation, will be glad to help :)
Wow, what a great platform. Am delighted to be here. Let's keep sharing and sharpening each other.
God bless you all.
As per my view I can do it in php codeigniter framework with a android and iOS native presence.
For the database side mysql would be sufficient
Php CodeIgniter based mysql web app - 3 weeks
Android App 2 weeks
iOS App 2 weeks
Check out https://www.socialengine.com
Seems you can buy most functionality you requested as modules, and source expertise within their network to answer some of the more intricate questions you have and bring it all together.
Use technology your team is comfortable with. In the beginning, the language will not matter until you want to scale. More important is how fast can you get it up so you can test and itterate.
From a tech point of view, I would recommend a NodeJS Backend because you can use socket.io for real time events without needing to click refresh to see latest posting. Build on a serverless technology like AWS lambda for easy scaling because social networks grows exponentially and monolithic architecture is hard to scale.
For database, most social networks will use JSON format and data schema can vary. I would recommend a NoSQL like MongoDB.
For mobile framework, you could use Ionic or React Native. Native apps if you have the resources.
For Notification Systems to Mobile, you can use push notification build into Android or IOS. Or native apps if you have the resource to build and maintain.
The above will be great and easy to scale. But more than programming language, it is about your architecture. How you design the system before you start writing your code.
Depends on your architecture and how complex your frontend. How big is your team and how experienced are they with the above technology ? Do you need testing ? What level of testing ? Documentation ? Do you build just for development speed or do you build for scalability ?
Fast 1 month. Slow, can be up to 3 months.
Cost ? Depend where you live.
Advice, look for a good tech co-founder. Itteration is very natural for a startup. A freelancer might not be able to accomodate quick it itteration as your business model changes.
Looking at your system I will recommend that you:
I recently discovered how amazing Firebase + React stack is for quickly developing an MVP. Could easily shave months off development. Once you grew over many thousands of users then think about slow re-architecture of the product to a more traditional stack.