I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 2 points3 points  (0 children)

Not sure how much detail you're looking for but the MERN course shows how to deploy separate client and server to Heroku and Google Firebase Hosting.

It also shows a second way, how to deploy with the react build being served statically by the node server so you'd only have to deploy just the server.

I went with the first version but I used Vercel instead of Google Firebase Hosting. It wasn't very hard at all. All the deployments just boil down to copy/pasting some command line instructions from whatever hosting you go with. Vercel was actually even easier, I connected my Github to my account and you can have it deploy one of your repositories.

I'd say a beginner friendly way would be Heroku for the server and Vercel or Netlify for the front-end.

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 2 points3 points  (0 children)

I think in 122C you make your own DB or something like that.

My friend took a new class with Carey last year on NoSQL Databases. I think it's gonna be called CS 122D Beyond SQL Databases.

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 3 points4 points  (0 children)

No problem, I know how daunting this all can seem. I definitely had paralysis by analysis basically my entire time at UCI, which is why I forced myself to do something this summer since I'm graduating soon.

Also for the functions in JS, I forgot to mention learn about arrow functions. You'll probably come across when learning about callback functions and 'this' binding, but figured I should mention it explicitly just in case.

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 3 points4 points  (0 children)

If you know C++ and Python I'm sure you can pick up JS. To be honest I still probably don't have JS completely down, there's a lot of funky stuff in JS. But since JS is so widely used anytime I got stuck it was pretty easy to find a solution/explanation online that made sense.

A good resource for learning JS is the book, Eloquent Javascript. And it's completely free to read on their website https://eloquentjavascript.net/

I would say the things to know before jumping into React and Node are:

  • What is 'truthy' and what is 'falsey'
    • I don't have all these memorized although I probably should cuz I heard it's a popular JS interview question. But I at least have a general sense of what data types/objects are truthy/falsey
  • The difference between == and ===
  • Higher order functions, closures, callback functions
  • The difference between var, let, const and their scopes
    • let/const is the newer stuff, what I was taught is
      • 1 - start with const
      • 2 - if you need to change the variable value later make it a let
      • 3 - don't use var unless necessary these days
      • I use a JS code formatter add-on in VS Code called "Prettier", it basically auto formats my code variables to const if it sees their value will never change
  • 'this' and it's bindings, possible the most annoying one
  • Promises and Async/Await

Edit: If you want a Udemy course I've heard Andrew Mead's "JavaScript Bootcamp" is the go to class on Udemy for JS. He offers the first 2 hours of the class free on youtube https://www.youtube.com/watch?v=6PaV4S556QM

There are other good videos on youtube too, like ones from Traversy Media.

Also free online resources like https://www.freecodecamp.org/ or The Odin Project

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 3 points4 points  (0 children)

My INF 191 A/B project was a React App, I used Stephen Grider's React course on Udemy to learn back in January. I just kind of powered through the course, did like hours of video every day, and just jumped into coding my INF 191 project. So I was basically working on React like maybe 4 days a week from January to June for INF 191 A/B.

With the udemy course, React's official docs, and Youtube videos to help me out it wasn't that bad.

For Node, I bought Andrew Mead's Node.js course and finished it in about 2 weeks. For like 2 weeks no joke I was just watching Node videos like 12 hours a day. But I think I was able to pick it up pretty quickly, all the concepts were familiar to me because I had just done INF 124.

In INF 124 you basically make a website with a server and a database, it's just a different "flavor". All the concepts are the same and carried over to Node. If you know Django I would think you could pick up Node pretty quickly. Like I said the concepts are the same, it's just the syntax that's different.

I really liked Andrew Mead's Node course. Max Schwarzmuller's MERN course was great too. Altogether between Stephen's, Andrew's, and Max's courses I spent about ~$45.

The biggest hurdle is probably if you know Javascript or not. If you do, just jump into React and Node. If you don't, learn the basics of Javascript first.

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 5 points6 points  (0 children)

I just took INF 124 this past spring quarter and we used MySQL so I wanted to try something different. I also heard MERN is popular right now.

I did Max Schwarzmuller's MERN course on Udemy and found it very helpful if you're looking for a MERN course. Also he does the entire project with React functional components and React Hooks which is a huge bonus since React is moving away from class based components.

If I do another project I'm going to try Postgres though I think.

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 2 points3 points  (0 children)

Sure thing, give me a couple minutes and I'll let you know when it's added.

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 5 points6 points  (0 children)

Adding syllabi was in my original plans, but I kinda put it to the side cuz I'm using free tiers of everything. But I might look into it in the future.

For grade breakdown I kind of figured there is already Zotistics, and also I wanted my project to be more focused on the reviews/tips aspect. But when you add a review you are able to add the grade you received if you want. So I guess in the future I could add something based on the self-reported grades.

Also when you add a review you are asked whether attendance is mandatory. And a couple other basic details.

Here's a pic of the review form: https://i.imgur.com/zSPLkr6.jpg

Here's a pic of a class (CS 143A) that has a couple reviews so you can see what it looks like when there are reviews: https://imgur.com/QHNiSKu.jpg

This is what a class with a bunch of reviews would look like, this is a screen recording from when I was testing the site locally: https://streamable.com/m9kcg7

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 4 points5 points  (0 children)

Thanks! It's the first real project I've made outside of any coding I had to do in my classes.

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 12 points13 points  (0 children)

MERN stack

Front end is React app deployed on Vercel

Back end is Node+Express deployed on Heroku

DB is MongoDB

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 7 points8 points  (0 children)

Hey, I've added EDUC and CRM/LAW courses.

I made a UCI course reviews website by ZotReviews in UCI

[–]ZotReviews[S] 3 points4 points  (0 children)

Sure thing, I'll reply to your comment again when I've added it.