Full stack app - where to get started?

Hi,

So I am trying to build the voting app. I have watched and read several tutorials, and I feel stuck at this stage.

I would like to use what we have learned in this curriculum to build the app : React, Express. I figured I would also use webpack.
I would like to build the app from scratch too, on my laptop, rather than on C9, as I assume in the real world, you don’t use C9.

And, it seems it’s incredibly complicated to build a JS FS app. I understood I may need to build 2 webpack configs : 1 for my React frontend code, one for the server. But I don’t get how those 2 work together.

So, if I understood correctly, you need to use webpack hot middleware, then react transform, then create a babelrc config file (which I don’t understand what they are for), maybe some other tools that I haven’t got yet.

IDK, it looks like a huge mess. At this point, I feel a bit lost, I don’t know where to get started. Every tutorial seems to have a different approach. Many of them seem outdated.

Would you kindly have any tips/links to point me to so I know where to start ?

My main issue is not how to build the frontend. Neither how to build the server or DB. It is how to combine all these (frontend code with server side code).

1 Like

Hi, Currently i am in at the same stage as you and i decided to use Yoeman:

http://yeoman.io/

Check it out, it is hard to understand at first, especially the build/commit/deploy but the good thing about it is that is “forces” you to use some best practices and the build does all minification, etc… it is definitely worth checking out (i am using the angular-fullstack template).

I have only started a couple of days ago ( https://github.com/sergiomgaspar/smg-voting-app ) and only work on it at night when i get home so the functionality is not implemented yet.

Feel free to reach out if you want some pointers

Edit: I don’t use cloud9, i develop on my PC and deploy to Heroku… i gave-up on cloud 9 because i had a lot of NPM issues there and could not get gulp working 100%… i am looking for an alternative but so far i have not found anything worth it. i thought about using AWS EC2 instances (free-tier) but the time it would take me to set it up is not worth it for now.
Also, webpack is included in the yeoman “stack” along with some testing FW’s that look nice but i have not used them yet.

Sérgio

1 Like

Hey @harvey56,

I agree it’s quite difficult to get up and running with a full-stack app because of all of the build configuration that can go into it. It can be quite overwhelming. Rather than try to give you advice myself let me recommend this tutorial series on YouTube by Rem Zolotykh.

I would suggest start by watching the first episode which is around 6 minutes. If you think you learned something, just continue watching! I highly recommend writing the code along with Rem.

Personally, this was probably the best tutorial I found on React out of a LOT that I looked at.

3 Likes

Thank you very much @bonham000 ! This really is an awesome tutorials series. I couldn’t have gone that far into my app without these tutorials (not complete yet, still have a bit of work). It is still quite overwhelming at times though. There are just so many libraries and middlewares and modules to learn about and to add in order to build a functional app.

Thank you @sergiomgaspar for your kind tips. I decided not to use Yeoman for the first app, as I would like to understand well all the React/Redux mechanic. However, I will do the 2nd app using Yeoman to try a different approach.

I have noticed that many job offers have AWS knowledge in the job requirements. It seems to be the most popular platform from what I have seen. I have never seen Heroku knowledge in jobs ads’ requirements though. So it may indeed be a good idea to try to deploy on AWS to gain some experience with AWS.

Hi,

AWS is very nice, especially to store files (S3 pricing is very cool)… the compute instances are +/- … and you have 1 year free micro-EC2.

That said, i don’t recommend AWS for FCC’s projects at all… to take full “use” of the AWS potencial you will need to spend a loooot of time reading doc’s and setting up IAM roles/profiles.

The “easy way” is to use elasticBeansTalk where you can upload a node server in seconds… however, that uses EC2 and by the second app you will need to pay :frowning: … the alternative is to deal with EC2 directly but the management time needed it is just not worth it for FCC projects.

My recommendation is: save AWS for your personal projects after FCC (that is what i am doing)

Disclaimer: i am a massive fan of AWS… i host my personal site there (fully on ElasticBeansTalk but recomend S3) for $0.60/month (Tutorial: Configuring a static website using a custom domain registered with Route 53 - Amazon Simple Storage Service)

Conclusion; For FCC i recommend to develop locally (with regular GIT commits) and deploy to Heroku… you can setup each app to automatically deploy from GitHub and have a “mini CI system”… super easy and saves a lot of time (if i want to change anything in my app, i just commit it and heroku deploys it for me!).

Good luck

1 Like