My Complete Tech Stack For Full-Stack development - 2024

Levi Okoye
17 Aug 202409:36

Summary

TLDRIn this video, a seasoned software developer shares their tech stack for full-stack web development. They primarily use React with Next.js for the front end, citing Next.js's powerful features like server-side rendering. For the back end, they favor PHP and MySQL, preferring API-driven development for scalability and flexibility. Hosting is done through Vercel for front-end apps and Hostinger for the back end. The developer also discusses using Tailwind CSS, Font Awesome for icons, Firebase for real-time updates, and AWS S3 for storage, while stressing the importance of experimenting with different frameworks.

Takeaways

  • 💻 The speaker is a full stack developer with experience in both mobile and web app development.
  • ⚛️ For front-end development, the speaker primarily uses React and Next.js, praising Next.js for its enhanced features like server-side rendering and app routing.
  • 🌐 Although the speaker uses React and Next.js, they suggest beginners experiment with various front-end frameworks like Vue.js, React, and Angular before choosing one.
  • 📂 For back-end development, the speaker prefers PHP with MySQL due to their familiarity with it and the native support for SQL queries in PHP.
  • 🔗 The speaker follows an API-driven development approach, allowing flexibility to reuse API endpoints across different platforms, such as web and mobile applications.
  • ☁️ Hosting for front-end apps is done using Vercel due to its ease of deployment, while Hostinger is used for back-end services with PHP and MySQL.
  • 🔐 For authentication, the speaker has switched to using NextAuth.js, simplifying the process with support for social logins and session management.
  • 💡 The speaker recommends Tailwind CSS for front-end styling, as it saves time by avoiding unnecessary CSS code.
  • 🔥 Firebase is primarily used for real-time communication in the speaker's apps, particularly for email verification and real-time updates.
  • 👨‍💻 The speaker emphasizes the importance of trying out different tools and frameworks to find what works best, advising developers not to limit themselves to what others recommend.

Q & A

  • What tech stack does the speaker primarily use for web app development?

    -The speaker primarily uses React for the front end and Next.js as the framework for web app development. On the backend, they use PHP and MySQL, following an API-driven development approach.

  • Why does the speaker prefer Next.js over plain React for web development?

    -The speaker prefers Next.js because it supercharges React with additional features like server-side rendering, app routing, and server actions, while still being heavily based on React. The transition from React to Next.js was smooth, according to the speaker.

  • What front-end frameworks does the speaker recommend for beginners?

    -The speaker suggests that beginners experiment with different front-end frameworks and not just choose one based on recommendations. However, they mention that Vue.js is the easiest to learn, followed by React and then Angular, which has a steeper learning curve.

  • Why does the speaker prefer PHP over Node.js for backend development?

    -The speaker prefers PHP because they were exposed to it before Node.js, and it feels familiar. Additionally, PHP natively supports SQL connections and queries, making it more straightforward for database-related tasks compared to JavaScript, which requires third-party packages to communicate with SQL databases.

  • What hosting services does the speaker use for their front-end and backend applications?

    -The speaker hosts their front-end applications on Vercel, which integrates seamlessly with Next.js and GitHub for easy deployment. For backend services, they use Hostinger, which provides PHP hosting and a free MySQL database.

  • What benefits does the speaker find in API-driven development?

    -The speaker values API-driven development because it allows for reuse of the same API endpoint across different applications. For example, they can build a mobile app in the future that uses the same API as the web application, making integrations with other services like Slack or Discord easier.

  • What authentication methods does the speaker use, and why?

    -The speaker uses NextAuth.js for authentication, which supports traditional email/password login and social logins like Google, GitHub, and Microsoft. They appreciate how it simplifies session management and takes away the stress of manually developing authentication flows.

  • What are some other tools and libraries the speaker uses in web development?

    -The speaker uses Tailwind CSS for styling, as it saves time by eliminating the need to write unnecessary CSS code. They also use Font Awesome for adding icons to their web apps, and AWS S3 for storage solutions.

  • How does the speaker use Firebase in their projects?

    -The speaker uses Firebase for real-time communication, such as monitoring user verification statuses during email verification processes. They also use it for notifications when developing mobile applications.

  • What advice does the speaker offer for developers choosing a front-end framework?

    -The speaker advises developers to experiment with various frameworks and not choose one solely based on recommendations. Each framework has its pros and cons, and developers should select the one they feel most comfortable working with.

Outlines

00:00

💻 Exploring My Tech Stack as a Full-Stack Developer

The author introduces themselves as a full-stack developer with four years of experience developing web and mobile apps. The video focuses on their web development tech stack, particularly for the front end. The author shares that they use React, and more recently, Next.js, which improves React with features like server-side rendering and server actions. They recommend trying different frameworks like Vue.js or Angular, noting Vue's simplicity and React's popularity. The author advises beginners to explore various frameworks to find the best fit, using resources like roadmap.sh to guide their learning.

05:01

🖥️ API-Driven Backend Development and MySQL

The author discusses their backend approach, which centers around API-driven development using PHP and MySQL. They explain that PHP’s native support for MySQL connections makes it easier than using JavaScript with MySQL, which requires third-party drivers. API-driven development allows for easy reuse of backend services across multiple platforms, such as web and mobile. While they prefer PHP due to early exposure, they acknowledge that similar results can be achieved with Node.js. For smaller projects, the author uses services like Supabase or Firebase for backend support.

Mindmap

Keywords

💡Full Stack Developer

A full stack developer is someone who works on both the front-end and back-end of applications. In the video, the speaker identifies themselves as a full stack developer, meaning they have the skills to create both web and mobile apps, handling everything from user interfaces to server-side logic. The speaker emphasizes this role by explaining their experience building apps for both platforms.

💡React

React is a popular JavaScript library for building user interfaces, especially for web applications. The speaker uses React for front-end development, highlighting its ease of use and large community support. They initially started with pure React before moving on to Next.js, which enhances React’s capabilities with additional features like server-side rendering.

💡Next.js

Next.js is a React framework that enables server-side rendering and provides additional features like routing and API handling. The speaker transitioned from React to Next.js to take advantage of its power in supercharging React, making the development process smoother. Next.js is used for the front-end part of the apps, and the speaker praises its features, such as server actions and app router.

💡PHP

PHP is a server-side scripting language used to develop back-end services. The speaker prefers PHP for writing back-end logic, citing its native ability to communicate with MySQL databases as a key advantage. They explain that while JavaScript with Node.js could also handle back-end logic, PHP’s direct SQL support makes it simpler for database-driven tasks.

💡API-driven development

API-driven development focuses on creating back-end services that expose APIs for different platforms to communicate with. The speaker emphasizes this approach, explaining that their Next.js front-end communicates with the PHP back-end via API endpoints. They also mention the advantage of using APIs for cross-platform functionality, like developing both web and mobile apps that utilize the same back-end.

💡MySQL

MySQL is a popular relational database management system used to store and manage data. The speaker uses MySQL for the back-end database, explaining that PHP natively supports MySQL connections. MySQL serves as the database for storing app data, which is accessed by the back-end and communicated to the front-end through APIs.

💡Vercel

Vercel is a cloud platform for deploying web applications, particularly Next.js apps. The speaker uses Vercel to host all their front-end applications, praising it for its seamless integration with GitHub for automatic deployments and continuous integration. They find it the easiest deployment process they've ever experienced, and they recommend Vercel for personal and professional projects.

💡Hostinger

Hostinger is a web hosting service the speaker uses to host their PHP-based back-end services. They mention that Hostinger provides a MySQL database and allows for easy scaling as the app’s user base grows. Hostinger is responsible for hosting API endpoints that the front-end apps communicate with.

💡Authentication

Authentication refers to the process of verifying a user's identity before granting access to an application. The speaker discusses using NextAuth.js, a library for handling user authentication in Next.js, which simplifies the process of managing traditional login methods (e.g., email/password) and social logins. This allows for session management without the developer needing to build everything from scratch.

💡Tailwind CSS

Tailwind CSS is a utility-first CSS framework that allows for rapid styling of web applications. The speaker uses Tailwind CSS to streamline the process of writing CSS, expressing their dislike for traditional CSS. Tailwind’s utility classes help avoid writing unnecessary code, making it easier to design responsive and functional user interfaces.

Highlights

The speaker is a full-stack developer with four years of experience developing both mobile and web applications.

The focus of the video is on the tech stack used for web development, with a mention of future content related to mobile app development.

The speaker prefers React for front-end development and transitioned to Next.js, which supercharges React with features like server-side rendering and server actions.

Angular is noted as more common in enterprise applications due to its structure, but with a steeper learning curve compared to React and Vue.js.

Vue.js is recommended as the easiest to learn among popular front-end frameworks.

For back-end development, the speaker uses PHP with MySQL for API-driven development, explaining that PHP's native support for SQL makes database logic easier than with Node.js.

API-driven development allows the reuse of the same backend logic across different platforms, such as both web and mobile applications.

Hostinger is the web hosting service used for PHP and MySQL backends, providing easy scaling as user traffic grows.

The speaker highlights the simplicity of hosting front-end applications on Vercel, emphasizing its integration with GitHub for continuous deployment.

NextAuth.js is used for authentication, which simplifies the process with built-in session management and social logins.

The speaker mentions Clerk as an emerging authentication library but has not yet tried it.

AWS S3 is the preferred storage solution, praised for its ease of use in web and mobile applications.

Tailwind CSS is used for front-end styling to avoid writing custom CSS, which the speaker finds cumbersome.

Font Awesome is recommended for providing a wide range of free icons, easily integrated into any web application.

Firebase is primarily used for real-time communication tasks, such as handling email verifications and notifications.

Transcripts

play00:00

one of the most commonly asked questions

play00:01

I get as a software developer that has

play00:03

been developing apps for the past four

play00:05

years is what text tack do you use to

play00:07

develop your apps I've been wanting to

play00:09

make this video for a very long time now

play00:11

but I keep procrastinating 2,000 years

play00:14

later so with no further delay let's get

play00:17

into

play00:19

it for those of you guys who might not

play00:21

know I'm a full stack developer and I

play00:23

develop apps for both mobile and web I

play00:25

wouldn't say I develop for one platform

play00:28

more than the other I've approximately

play00:30

buil to the same amount of web apps and

play00:31

mobile apps but for the sake of this

play00:33

video we're going to focus on web

play00:34

Technologies let me know if you guys

play00:36

want me to make a video about the tech

play00:37

stack I use for mobile app development

play00:39

so like I mentioned earlier I do full

play00:41

stack development so let's start with

play00:43

the front end side of things for the

play00:45

front end I develop all my apps using

play00:47

react and for my framework I use nextjs

play00:49

I started off writing PL react for about

play00:51

a year I loved it it got the job done

play00:53

then I heard about nextjs and how its

play00:55

supercharges react and I decided to try

play00:57

it out it was absolutely amazing the

play01:00

transition from react to nextjs was very

play01:02

smooth because nextjs is still heavily

play01:04

based on react so the way you do things

play01:06

in react in most cases is the same with

play01:08

nextjs except from nextjs has its own

play01:10

special features like server actions app

play01:13

router and serers side rendering but

play01:14

honestly if I wasn't writing react on

play01:16

nextjs the next front end framework I

play01:18

would choose has to be angular angular

play01:20

is more common amongst most Enterprise

play01:22

web applications because of how it's

play01:24

structured but I would say it does have

play01:26

a large learning curve compared to its

play01:28

counterparts like View and react but

play01:30

it's definitely worth it in the long run

play01:32

but I would say personally I don't write

play01:33

angular so I can't really say much about

play01:36

it but if you're a beginner and you

play01:37

don't use any front end framework right

play01:39

now and you're looking to learn a new

play01:40

front end framework I would say don't

play01:42

choose angular because it's used for

play01:44

Enterprise applications and also don't

play01:46

choose react or next year because I told

play01:48

you it's awesome I will advise you to

play01:50

experiment with any front and framework

play01:51

of your choice and see if you like it

play01:53

but I will say definitely check out road

play01:55

map. sh to see a very detailed learning

play01:57

route for the framework of your choice

play01:59

but I already looked at it before

play02:00

recording this video the easiest to

play02:02

learn is vue.js because it's a light

play02:04

JavaScript framework followed by react

play02:06

then angler react is sitting right there

play02:08

in the dead center because it's not so

play02:10

difficult to learn and it's also widely

play02:12

used and it also has a large community

play02:14

as well so that's why it makes sense for

play02:16

most people to learn react but like I

play02:17

said I would definitely advise you to

play02:19

you know experiment with all of them and

play02:21

see whichever one you like best every

play02:22

framework has its pros and it's cons so

play02:24

keep that in mind all right so moving on

play02:26

to the back end side of things which is

play02:28

my favorite so for my back end I

play02:30

actually follow an API driven

play02:31

development I mainly develop all my

play02:33

backend services using PHP and my SQL I

play02:36

write all my backend logic using vanilla

play02:38

PHP no framework PHP communicates with

play02:40

my SQL database and my client nextjs

play02:43

communicates with my backend through an

play02:45

API endpoint and before you guys come

play02:47

for me in the comment section I know the

play02:49

same thing can be achieved without

play02:51

introducing a new language PHP into the

play02:54

picture you can still develop your

play02:55

backend services in let's say node.js

play02:57

and still be able to communicate with my

play02:59

S SQL database but the thinge is that

play03:01

JavaScript can't natively communicate

play03:03

with my SQL database because it runs on

play03:05

a browser you will definitely need to

play03:07

install a third party package that act

play03:09

as a driver to help you connect to a

play03:10

mySQL database but PHP on the other hand

play03:13

natively supports SQL connections and

play03:15

queries so performing any kind of

play03:17

database logic in PHP is going to be

play03:19

more straightforward compared to

play03:20

JavaScript and also one of percs of API

play03:23

driven development is that you can

play03:24

utilize that same API endpoint for any

play03:27

other application let's say my most

play03:28

recent project script blue that's a web

play03:30

application and in the future I plan on

play03:32

developing a mobile application for that

play03:34

project in that case I don't have to

play03:35

worry about any backend stuff I can just

play03:38

focus on developing the UI and just hit

play03:40

the same Endo that my web application

play03:42

hits if I choose I can also develop any

play03:44

kind of Integrations with let's say

play03:45

slack or Discord using that same API

play03:48

endpoint that's just one General

play03:49

advantage of using API driven

play03:51

development but that's not the actual

play03:53

reason I choose PHP over nodejs the

play03:55

reason I actually write PHP over nodejs

play03:57

is because I was exposed to PHP before

play04:00

nodejs and I got used to it before I

play04:02

even knew what nodejs was that was what

play04:03

I learned first and like they say you

play04:05

can't betray your first love so it is

play04:07

what it is and also I think it's

play04:09

important for me to say it also heavily

play04:10

depends on what I'm developing there's

play04:12

some really small projects I work on

play04:14

that doesn't really require me to

play04:15

develop a whole um PHP backend for in

play04:18

that case I can use something like super

play04:20

Bas or fire Bas to um you know develop

play04:22

the whole backend service super Bas is

play04:24

actually very very nice if you haven't

play04:26

tried it I would say definitely give it

play04:27

a go because it's like the SQL

play04:29

alternative for Firebase it's truly

play04:31

amazing now moving on to hosting full

play04:34

stack isn't really complete if you don't

play04:36

talk about how you host your

play04:37

applications I host all my front- end

play04:39

apps that I develop in next year using

play04:41

Verso or versel is it Verso or versel I

play04:44

don't know versel is a hosting service

play04:46

created by the creators of nextjs

play04:48

Hosting my apps on versel is very easy

play04:51

and seamless the building and deployment

play04:53

process is a breeze it helps with

play04:55

continuous integration and development

play04:56

in the sense that I can quickly write an

play04:58

update on VSS code push it to my git

play05:01

repository verel is already connected to

play05:02

your GitHub and whenever you push code

play05:04

into the repository it's connected to it

play05:06

triggers a deployment process that

play05:08

deployment process builds your app it

play05:10

runs test then finally deploys it to the

play05:12

public and all this without you having

play05:14

to do anything this is the easiest

play05:17

deployment I've ever done in my career

play05:19

like I don't even know how else to

play05:20

explain it it is truly amazing they have

play05:22

a free plan which if you use for your

play05:24

personal project you will be just fine

play05:26

but if you develop apps that people are

play05:28

going to use then I would say you might

play05:29

exceed the free band reads and you might

play05:31

have to pay for the hosting service

play05:34

which then it can it can get pretty

play05:37

expensive for my backend Services since

play05:40

I use PHP and my SQL I use a web hosting

play05:43

service from hostinger they are not

play05:44

sponsoring this video by the way the

play05:46

service from that web hosting service is

play05:47

what's going to house your API end

play05:49

points it also comes with a free mySQL

play05:51

database which I don't think you're ever

play05:53

going to use up they also let you scale

play05:54

the server as your users grow with very

play05:57

very little input from you so that's

play05:59

also amazing all right guys I just

play06:00

wanted to pop in to let you guys know

play06:01

that I've started a membership on

play06:03

YouTube and you can become a member some

play06:06

of the PRS of being a member of this

play06:07

channel includes early access to my

play06:09

weekly videos you also get a fancy badge

play06:12

besides your name in the comment section

play06:13

you also get to see member only Post in

play06:15

the community tab on YouTube and the

play06:17

biggest PR of all is that you get a free

play06:19

monthly call with me where we can

play06:21

discuss anything from career plans to

play06:24

learning structures and also project

play06:26

reviews like literally anything you want

play06:28

to talk about you get one free monthly

play06:30

call with me so go ahead and click the

play06:32

first link in the description to become

play06:33

a member of this channel I've talked

play06:34

about the three major things so let's

play06:36

also talk about the little things that

play06:38

also matter let's talk about

play06:40

authentication for authentication I use

play06:42

next years but not until the beginning

play06:45

of this year I've always developed my

play06:47

own authentication Flow by myself it

play06:49

worked but it was it was very stressful

play06:52

whenever I start a new project I always

play06:54

develop the authentication flu first

play06:56

just to get it out of the way because

play06:57

that's that's probably the most

play06:59

difficult in that project but recently I

play07:01

discovered next o which is an

play07:02

authentication library that handles all

play07:04

your authentication for you it allows

play07:06

the traditional email and password

play07:07

authentication and it also allows social

play07:09

login like login with Google loging with

play07:12

apple GitHub Microsoft and many more

play07:14

once your user is authenticated it

play07:16

automatically creates a session with

play07:17

whatever data you select and it also

play07:19

lets you the developer to choose an

play07:21

expiration date for that session that's

play07:23

actually very cool because you don't

play07:24

understand how much stress that takes

play07:26

away from you but I've also heard about

play07:28

click it's actually theer trending

play07:30

authentication Library within the

play07:32

development Community right now I'm yet

play07:33

to try it out but if you guys want me to

play07:35

make a video about clerk let me know in

play07:37

the comment section and also clerk if

play07:38

you're willing you can decide to sponsor

play07:40

my next video and also I use AWS S3 for

play07:43

storage it's a very easy and simple

play07:45

storage solution for web apps and mobile

play07:47

apps and whatever kind of development

play07:49

you're doing some other little things I

play07:50

use in the front end is Tailwind CSS

play07:53

it's saves me from writing unnecessary

play07:54

CSS code I don't know who who likes

play07:56

writing CSS code not me definitely not

play07:58

me I absolutely hate hate hate hate

play08:01

writing CSS code I also use Font onome

play08:04

library for icons tell me what what's a

play08:06

web application without icons like just

play08:08

just tell me what's a web app without

play08:10

icons font awesome provides you with a

play08:12

variety of icons for free and it's also

play08:14

very easy easy easy to integrate with

play08:16

your you know web applications whether

play08:18

you're using nextjs VJs angular or react

play08:21

it's very easy to integrate with your

play08:23

web apps so I 10 out of 10 recommend

play08:25

font awesome I sometimes use Firebase

play08:27

mainly for realtime communication in the

play08:29

application for example let's say I need

play08:31

to handle an email verification I use

play08:34

Firebase to monitor the user

play08:35

verification status in real time so like

play08:37

when I send the user the verification

play08:39

email I set up a listener to observe

play08:41

changes in the user's verification State

play08:43

once the user clicks the verification

play08:44

Link in the email Firebase automatically

play08:47

updates the user's verification State my

play08:49

app receives that update in real time

play08:51

allowing the user to continue without

play08:52

having to refresh the page that's one of

play08:54

my most used cases for Firebase I know

play08:56

it's also used for like other backend

play08:58

operations but that's mainly what I use

play09:00

it for and I also use it for

play09:01

notifications when I'm developing mobile

play09:03

apps as well but yeah guys that's my

play09:04

complete Tech stack as a full stack

play09:06

developer let me know if you guys have

play09:08

any questions in the comment section let

play09:09

me know in the comments if you guys want

play09:11

me to make a separate video talking

play09:12

about the tech stack I use in developing

play09:14

mobile applications also don't forget to

play09:16

join my coding community on Discord I'm

play09:18

also going to leave a link to that in

play09:19

the description thanks again for

play09:20

watching don't forget to like this video

play09:22

share it and also subscribe and I'll see

play09:24

you guys in my next video

Rate This

5.0 / 5 (0 votes)

Related Tags
full-stackweb developmentReactNext.jsPHPAPI developmentMySQLhosting servicesauthenticationdeveloper tools