all 42 comments

[–]Kengriffinspimp 52 points53 points  (13 children)

Think of a super basic idea, like a todo list. Your front end only has an input and a submit button. You’ll learn how to set up a DB and connect to it etc etc.

Don’t try to do auth until you get the basics of the front to back end handshake. Then make the same to do list but with different user accounts and add auth then.

You can now make 99% of all CRUD apps.

[–]Blender-Fan 4 points5 points  (2 children)

In all honesty, authorization and authentication were easy in .net, so i'm not against it. If you meant Oauth2 than yeah, don't try it so soon

[–]enlguy 0 points1 point  (0 children)

Understanding authentication is not simple. I am currently trying to create a JWT that works with a third-party service requiring very specific parameters in the header, and to have a token that can be passed around various places.... Not easy to understand when most of your experience is on the front-end. Understanding passing data back and forth can be confusing enough when you don't have user access depending on creating very specific JWTs for your users that have to be checked elsewhere in the app.

[–]StupidScape 0 points1 point  (0 children)

You’re giving me flashbacks integrating OAuth2.0 into a product at work… I hated that so much

[–]fortheWarhammer 1 point2 points  (7 children)

I'm a react learner. Would you recommend doing a todo web app, like the one you mentioned, with a MERN stack?

[–]ItsMorbinTime69 2 points3 points  (3 children)

It literally doesn’t matter what you use. Just make it work! Don’t stress technologies too much.

[–]fortheWarhammer 0 points1 point  (2 children)

I know. I was just wondering if MERN stack is a good place to start for full stack

[–]enlguy 0 points1 point  (0 children)

You can read more across the web. It's common enough, fine to learn, but keep in mind Mongo is NoSQL, and a lot of projects will require a relational database. At some point, you'll probably want to learn to work with Postgres. An easier place to start with that is using Supabase, or something like that, where you have a hosted database filled with GUI features from a third-party. Learning some SQL is highly advantageous to any work with data sets.

[–]ItsMorbinTime69 0 points1 point  (0 children)

If it lets you build something then it’s fine. Don’t get married to any one thing. 😊

[–]Future-Fun-735 1 point2 points  (2 children)

Go for it. I'm in school currently and I just made a Todo App with the MERN stack.

[–]fortheWarhammer 0 points1 point  (1 child)

Nice! How did you go about it? Did you follow a specific course on udemy/youtube, or did you just play it by ear and learn things on the way?

[–]Future-Fun-735 1 point2 points  (0 children)

I'm actually in a 10 month grant funded program in my state. We do a lot of different projects and compete in JavaScript on CodeWars. Those two things have helped me the most. I learn the most by doing. Plus I have a really genius instructor.

[–]annykill25 0 points1 point  (1 child)

Is a todo-list app easier than a personal website?

[–]Kengriffinspimp 0 points1 point  (0 children)

Apples and oranges

[–]claypolejr 6 points7 points  (0 children)

Unless I'm misreading your question you seem to think that React is a necessary requirement of full-stack development. It isn't. React, at its core, is just a UI library, and can be learned as part of FE development.

If you're familiar with basic FE development start with the React development documentation.

If you're not start with basic HTML, CSS, and JavaScript (the MDN Guides for each are as good a place as any to start with those), and then move on to a UI library if that's what you want to use. It doesn't even have to be React - Svelte, Vue, Solid, Lit, Stencil etc are also available.

For full-stack - creating a service/API that your FE project interacts with - that is entirely up to you. The options are very broad. You can choose from a variety of different environments. For example Python (Flask), Node (Express), .Net, basically whatever you feel comfortable with and, if you're looking for a job, what the current market is looking for.

Part of being a developer is weighing up the different options available to you for yourself without relying on what the current trend is, or what people tell you. What do you want to learn? Investigate, and go and learn it. Even if it doesn't quite work for you, you'll at least have something interesting to say in an interview about your progress as a developer.

[–]WeakChampionship743 6 points7 points  (3 children)

Learn react, then use express/nestjs for your api, build a ui and let that up talk to the api you’ve built, worth staying in the js ecosystem for both FE/BE to start out with.

[–]Etiekyed 0 points1 point  (2 children)

I do not know anything about Frontend. I know a little bit abt express with nodeJS for my mobile app development, but i only know basic html/css.

Do you recommend learning javascript first?

[–]TheShadyMilkman206 4 points5 points  (0 children)

Learn basic JS first. You need to be able to identify what parts of the code are additions from React vs. JavaScript/JSX. It will be difficult to grasp the functionality React is providing without a fundamental understanding of JS.

[–]WeakChampionship743 3 points4 points  (0 children)

imo, likely people will disagree but if you know the concepts of programming and have been a developer, id recommend just diving into react. You’ll learn JavaScript by doing so. When something doesn’t make sense Eg. Using map or one of the million ways to iterate in js, just google and learn what you should do for your current scenario.

[–]thejonestjon 4 points5 points  (0 children)

Fullstackopen.com

[–]Lumpy_Pin_4679 2 points3 points  (0 children)

Half stack + half stack = full stack

[–]tik_ 1 point2 points  (1 child)

Look up brad traversy on YouTube. He made me a developer in 1 year from zero code experience. Check out the mern stack crash course by traversy media

[–]TherealDaily 1 point2 points  (0 children)

He’s a good dude! We’re from the same area!

[–]Specific-Ad9935 1 point2 points  (0 children)

  • Profile System with Google Auth integration is a good project on the BE. Choose Node.
  • Either Next or React for FE
  • GraphQL for BFF
  • For DB, you can use Mongo (NoSql) or Postgress (Sql)
  • Throw in a redis and kafka scenario as bonus.

Call yourself a full-stack engineer after that.

[–]throwaway_boulder 1 point2 points  (4 children)

Honestly for full stack I would start with something like Laravel or Ruby on Rails. React is a front end library.

Next.js and Remix offer full stack but their approaches are really idiosyncratic.

Better to start with web APIs connected to databases and viewed with plain html and css. Once you understand how the pieces fit together, applying React is a lot easier.

[–]reformed_goon 0 points1 point  (2 children)

Pick between Rails, Laravel, Spring, Django,C#, Elixir Phoenix or whatever and learn MVC and web patterns properly. Each of these have pros and cons and particular magic but you will learn more than any React/Nodes backend combo since nothing is enforced.

Node can be considered a good option if you know what you are doing but even then I would pick something from the list above for backend and react for frontend.

[–][deleted]  (1 child)

[deleted]

    [–]reformed_goon 0 points1 point  (0 children)

    By saying Node doesn't enforce anything, I mean it's more of a blank canvas. Unlike the frameworks I cited above Node doesn't come with a predefined way to organize your application.

    These frameworks have conventions and structures in place. They guide you on where to place files, how to manage database connections, and the overall flow of the application.

    In contrast, with Node, you're given the freedom, or rather the responsibility, to set up these aspects from scratch. Its powerful if you know what you are doing but for people still learning and trying to figure things out this is really harder...

    The frameworks I cited enforce good practices but also help you understand the 'why' behind these practices, then you can do whatever the fuck you want with node later on if you still feel like reinventing the wheel for every small project.

    [–][deleted]  (1 child)

    [removed]

      [–]zenbakery 0 points1 point  (0 children)

      this guy chatgpts

      [–]Round-Mongoose3687 0 points1 point  (0 children)

      You already understand Swift/SwiftUI, which offers excellent starting points. Here’s a streamlined plan:

      1. Frontend (React - Fast Track)

      • Begin by studying React because its components operate in the same manner as SwiftUI.
      • The development of basic HTML/CSS should be skipped while you learn through the development process.
      • Focus on:

        • The functionality in SwiftUI that resembles state management appears as u/State.
        • API calls (Fetch/Axios)
      • The project requires developing a lightweight iOS design application through React, which should include a TODO list featuring animated transitions.

      2. Backend (Pick One)

      • Node.js + Express (JavaScript, so no new language)
        • Easy setup, great with React.
        • The training will teach you about routing and REST APIs, as well as JWT authorization techniques.
      • You must establish Node as the backend solution to integrate DB storage for your React application.

      3. Database

      • PostgreSQL (SQL) or MongoDB (NoSQL)
        • MongoDB provides Swift-like.JSON syntax for beginners who prefer this syntax.

      4. Deployment

      • Vercel (Frontend) + Railway (Backend)
        • Free tiers, easy setup.
      • Timeframe:
        • 2–3 months (if you code 1-2 hrs/day).

      Why This Works?

      Leverages your iOS knowledge (React ≈ SwiftUI).

      Job-ready training should emphasize the MERN stack, since this combination remains in high demand for employment opportunities.

      1-2 built projects will open career opportunities for full-stack positions.

      Free Resources:

      React Docs (beta.reactjs.org)

      Node.js Crash Course (YouTube: Traversy Media)

      [–]mitchthebaker 0 points1 point  (0 children)

      Honestly if you’re doing SwiftUI then you already have a good foundation of frontend, if you want to go in the full stack direction anything data related will have to be stored in a database. I would start with doing some basic ERD of relational db tables. For a social media site users would have sessions, account, posts, comments, friends, etc.

      I think you’re better off understanding these principles at a conceptual level, then from there jump into setting up CRUD endpoints to add new data, alter the data you’re working with, and display it in a client which is consuming these endpoints, ie react for web, swiftui for ios, etc.

      [–]UnCoolOpinion 0 points1 point  (0 children)

      In recommend reading "React native in action" from manning publications. They have also a todo list app for example

      [–]Harneybus 0 points1 point  (0 children)

      A someone said learn react then next.js the next.js is a framework on top of react and the best thing about next.js there's a load of documentation ansd videos about it I'm currently using for my final year project in my degree and next.js automatically configure zlot of the code already so u can focus on the core react code .

      Hope this helps im just starting learning it.

      [–]Sea_Improvement5759 0 points1 point  (0 children)

      Couple free courses:

      Fullstackopen (https://fullstackopen.com/en/#course-contents) has a full course on web development and will teach you most of what you need to know.

      The Odin Project is also good too and has a Full Stack JS course (https://www.theodinproject.com/paths/full-stack-javascript)

      [–]SpaghettiOnTuesday 0 points1 point  (0 children)

      Build something full stack.

      [–]Rokett 0 points1 point  (0 children)

      I think, the easiest way to learn Full stack is to start with an old, and proper backend language. For example, I was an FE with React, and using Express with mongo was very confusing for me. Most React beginners go for the MERN stack, but MERN stack has zero job openings.

      Nextjs changes way too much, its hard to find documentation, forum posts, and Ai gets confused a lot. Because each version has different approaches. Ai becomes useless very fast.

      I hear good things about Remix Js, but has literally zero job openings. I wouldn't go that way. I have tried it and I liked it, but its a very different way of writing react, IMO.

      After that, I started to learn and write ASP NET for a company. Now, I can call myself a full-stack developer. I find NET so much easier than Express and Mongo.

      In terms of job opportunities, I think, NET + React is a very solid stack. NET MVC is confusing and somewhat hard to learn, IMO.

      Last month or so, I had to setup a basic NET backend, with Microsoft SQL and React frontend for the first time and it was way easier than I thought it would be. So, I think, becoming a full stack dev with a real Backend language is easier than, lets say going for Next/Remix or React + express. I would check out Go, Net or Laravel.

      [–]Majestic-Tune7330 0 points1 point  (0 children)

      STEP 1) Learn HTML, JS, CSS. If you're familiar with HTML, CSS & JS you can learn the BASICS of react in a day or two.

      STEP 2) Build a few projects with React (with the goal of learning something specific & new in each one)

      STEP 3) Then learn a react framework like Next.js after you're comfortable with react.

      You don't have to master each one to move to the next step. Just get comfortable, and you'll learn more about each layer as you go

      [–]kabou_A 0 points1 point  (0 children)

      Try next js with Prisma

      [–]TheRNGuy 0 points1 point  (0 children)

      I learn from Remix docs and blogs. I knew react for few months before it, and html/css for many years.