|
|
|
|
|
by AgharaShyam
3431 days ago
|
|
Thanks for a very detailed answer. I appreciate it. You are totally right in that i don't have any real web/application development. In fact i just started university but i have been programming for a few years (mostly problems on sites like code chef in C, C++ no products) but recently got this idea when i visited a plant that my father owns. There are about 600 such plants in the same area and they use fairly old software or not at all. So i talked to him about my idea and he thinks it will be very useful and also commercially successful since there is virtually no competition. That's why i decided to learn web development. But now i am realising it's tougher than it looks. I asked this question in order to get an idea what all the things i need to learn in order to even attempt to build something like this. Now that i look at my question i think i should have asked "How to be a full stack web developer?". So if anyone is still reading i think this would be the question that you should answer or maybe i should have just googled it and started working |
|
The path I would recommend to learn full stack development.
Go through the books Head First HTML and CSS (get an inexpensive hosting account you can FTP files to and setup some domains, point to your hosting), next go through Head First PHP and mySQL. Next is Headfirst Javascript then Headfirst jQuery.
After those you should sign up for teamtreehouse.com.
You could play around with developing this in PHP without a framework, setting up a login in system you would learn a lot. Sometimes frameworks are tough to understand what all the magic is happening behind the scenes if you haven't creating a simple app with login, etc in vanilla PHP on your own. For your customer version though you will want to use a framework, more secure, better organized code, etc.
I would recommend developing this with Laravel(PHP) it has a great community so you'll be able to find great learning resources to get started. (Rails is good too, but I think Laravel will be easier to get started/deploy your app)
Also I recommend developing on a mac. Windows always seems to have obscure issues that you will waste hours/days on.
laracasts.com will get you started with Laravel.
There are great deployment tools forge and envoyer. Hosting on Digital Ocean is perfect for most apps, AWS and linode too)
Use stripe for billing.
There is a SaaS add-on to the framework call Spark. It's ok but, I find I'd rather roll my own stripe/SaaS integration.
Also Spark does use Vue.js though so since you're just learning I would stick with developing the app using jquery for ajax interactions and think about moving up to vue in the future.
I would create the MVP as a web application for all the interactions. Then once you have that established you can look at adding true android and iOS apps. Those might be better to hire out the development of. Or a future learning project.
You should be able to set everything up as a mobile web application, use the bootstrap framework for the look and feel of your app. There are some ready made admin templates that can get you something similar to baremetrics.
Having your Dad's plant as an initial user for your app will be great to refine what they need get their feedback.
Good luck. Follow up and let us know how it's going.