It's 100% practice-based. We'll build an awesome project using a fantastic full-stack tech stack: Astro, htmx, Alpine.js, Tailwind CSS, Pocketbase.
Perfect to learn how to code from scratch.
Perfect if you're into Web Dev but you're a bit rusty.
Perfect if you're into another tech niche (mobile, system-level, sysadmin, devops, ...) and you want to transition to Web Development.
Perfect to learn how to create your own SaaS.
This is not "just a course".
It's a once-a-year event designed with one goal in mind: help you become a Web Developer.
During these 12 intensive weeks, you'll learn the skills you need to build interactive and useful Web Applications.
Meet the instructor
Hello, I am Flavio Copes. You may know me from my blog flaviocopes.com , my free programming ebooks on thevalleyofcode.com, or my freeCodeCamp contributions. I have been organizing this
Bootcamp every year since 2020. I am 39 years old, Italian. I graduated
in computer engineering from Politecnico di Milano in 2008. My passion
for computers dates back to the 1980s. I have been a Linux fan since
Just a few words to let you know I'm serious about these things.
My mission is to help you become a Web Developer.
Each week we'll unlock a new module
In this module we define and plan our application, understanding the problem, the architecture we'll need, the tech choices. We'll introduce and install PocketBase locally, and we'll start doing some initial data modeling for our app, creating collections.
In module 3 we'll start working on the app part of our SaaS. We'll create a dashboard and we'll start fetching data from PocketBase and we'll show it in the app. We'll add a way to create a new project using a modal window. We'll introduce htmx and Alpine.js and I'll show you how to use them to perform actions and make our app dynamic. We'll let people add a task to the project, and we'll list the projects tasks.
In module 4 we'll first add a sidebar that lists all projects, with a hamburger menu to show it on mobile too. We'll use htmx's `hx-boost` feature to make the app feel faster. Then we'll add a way to mark tasks as done, edit the project status, edit the project's name, and edit the task text. We'll also add a way to delete a project and a task. We'll add the ability to star a task, and we'll then show starred tasks coming form all projects in the dashboard.
In module 5 we'll introduce authentication to our app. We'll protect all routes that require auth, and we'll start creating user-specific data. All projects, tasks, etc, will be associated with a user. We'll also add forms to sign up and sign in, and reset the password. We'll let people logout too. We'll add form protection using Cloudflare Turnstile.
In module 6 we'll make it possible to upload images to a task via drag and drop, and we'll let users delete them too. We'll also take care of security across our app, talk about XSS, introduce a Content Security Policy. We'll then introduce some error handling across our requests.
In module 7 we'll handle showing starred tasks before non-starred ones from PocketBase, we'll handle resource not found issues, we'll see how to handle htmx connection errors, we'll add some more security checks by setting htmx to only allow requests to our domain and using the correct headers and origin to prevent possible abuse.
In module 8 we'll create teams. We'll create the teams collection in PocketBase, show a form to let people create a team, we'll show teams in the sidebar, we'll allow people to activate a team by paying the subscription on Stripe, we'll add projects to the team, list team projects, list starred team tasks, we'll also list team projects in the sidebar, and do some work on the sidebar to highlight the active project and team.
In module 9 we'll keep working on teams. We'll add invites, we'll list team members,s we'll handle accepting/rejecting invites, we'll send emails through PocketBase, we'll handle changing a team name, subscription cancellation, we'll freeze the projects if people stop paying, and we'll add a link to manage the subscription on Stripe to update payment method. We'll also handle team deletion and clearing the data.
In module 10 we'll create an activity page where people can see what happened in their projects, and we'll create a team dashboard where people can see what happened in their team projects at a glance. We'll add a way for people to change their username, and in the filters list we will add a way to filter by user, by team, by project. We also show tasks done today in the personal/team dashboard, we'll do some optimizations and we'll add a service worker to show a offline splash screen. We'll also allow the app to be installed as PWA.
In module 11 we'll take care of caching and performance. We'll prevent 2 roundtrips with HX-Redirect, we'll optimize creating a project and task, we'll prevent double click of the buttons, we'll cache modals, we'll cache assets, we'll add loading spinners.
Module 12 is about deployment. We'll deploy our app to Railway using Docker, and we'll handle all we need to go from local dev mode to production.
Hear what students say
“The web development bootcamp was a game changer for me. It teached me how to develop modern web applications using the best practices, I recommend it 100%!!!”
“I can’t recommend enough this course for self learner developer. It gives me the bird eye view of current technology and lots of portfolio projects. But my most valuable takeaway from this course is the newbie learning community that learns together with you. For me, this course boost my confidence to apply for dev jobs, and alhamdulillah, 1 month later I got a full time job as developer.”
“This course was a game changer for me. the more regimented coursework made me realize I had to grind harder if I wanted to make it. It's also teaches you a wide range of skills, vs udemy courses where you'll learn 5 skill sets maybe at most. Here you'll learn 20+ (probably more). I already feel like I've learned 20x what I could have found on my own. Thanks Flavio!”
“I learned the most valuable lessons in practice, theory, and execution. The bootcamp gives a well defined curriculum including projects and examples. The text based style is just exponentially great and Flavio is always there to help out!”
“Finally I found an affordable & flexible ONLINE bootcamp where I can manage my time between learning and my family. Fellow students who always help each other & with Flavio himself actively engages with what student needs help me enormously in my learning journey!”
“I started learning programming a couple of months before the bootcamp started, and it felt overwhelming to figure out how I should approach it. I tried using other tutorials, but the ones I found were mostly video-based and I found it hard to follow, especially since I am a beginner. However, this bootcamp is text based, and I find it much more enjoyable to be able to go back and read the material again, I feel I am absorbing the information in a different way. Also, the bootcamp has given me a good structure for learning all the topics that are necessary to become a full stack developer, which would have taken me a very long time to figure out on my own. In addition, the discord community is very friendly, and I have found lots of help and information from the chat.”
“The JS Bootcamp is an excellent resource for anybody looking to improve. I still use this course as a primary resource for gaps in JS knowledge. Highly recommend you give this course a try!”
“It's great to be part of the JS Bootcamp, learning new things with the friendly Discord community. A nice thing about Flavio's course is that the theory is written in small fun blocks with some practical projects on the side so it allows you to follow it easily.”
“Flavio's lessons get you building real things right away. The variety of projects you'll build will serve as great examples for building your own products. He uses the latest libraries, tech and tools to get you up and running in no time.”
“Flavio is a great developer with the humility to show his process in development; instead of showing only the perfect 'Ciak'. This translates into a real lesson where you can learn the mindset, the approach you face, the theory but you come home with much more. Becoming a programmer is hard, Flavio is teaching me a serious and profitable approach to becoming a good developer with real projects.”
“Flavio's courses are a great resource that you can reference from time-time when you get stuck. They are well-organized & follow a flow that will make understanding them easier as you go on plus you get to actually build something while learning.”
“The course has been very good. I learned a lot and it got me thinking about what I have to work on and improve. I found the content and pace of the workshop excellent, I like the format. This was the first time I was involved in webinar training, and it has been a great learning experience, there are so many little things to know and learn one couldn’t possibly learn it on their own, and that’s where Flavio and the JS Bootcamp really make the difference. Also, I found it to be a very good webinar for new-comers to the web world. The information provided will prove to be very useful in practice.”
“Hi everyone. My name is Illia, I am from Belarus, little country in the middle of the Europe. I am a second year student now. And I want to tell you about my expressions about The JS Bootcamp. It was really awesome. I found this course at the end of May and understood, that is what I really want to learn in the summer, while I was on vacation. I don’t know English very well, and this course was really good to learn it with Flavio. You should be very hardworking to finish that course, because there are a lot of new information, and you need to understand it in a little period of time. At the and or this course you can try to find work, because now you know all concepts of JS, and it is enough to be JS developer.”
“You will be hard-pressed to find a more comprehensive course for full-stack web development on the Internet. Modern web development requires you to know a lot. And Flavio provides that knowledge with enough depth to keep you going when the bootcamp is over. The material is well-presented, easy to follow and actually up-to-date. You will learn what is relevant now or, more importantly, what might be essential tomorrow and not what was hot yesterday. There is so much to learn. And it will require further studies on my own. But for the first time I have the feeling that I can get somewhere with an online course, working confidently on the front- and backend, equipped with the knowledge of an up-to-date tech stack. Hence, if you want to become a full-stack JS developer I wholeheartedly recommend this bootcamp!”
“I love Flavio's courses, and reference books also, because they are very different from other resources. It feels like you are doing some peer programming with a more experienced colleague and friend who takes great care of your understanding and rapid implementation of what is covered. It is also great if you want to ramp up rapidly on ReactJS, and discover new things like Netlify, MACH, and JAMstack. Thank you, Flavio for putting your learning materials together.”
“Flavio’s Boot Camp gave me the directions, resources and knowledge on how to achieve a next level Web Development. The project based curriculum is the best way to quickly put in practice the lessons and move them to your own projects. It gives and explains all the foundations you need. And to go a step further, you will always have an active discord community that grows around the boot camp”
“I look forward to registering for each new course by Flavio because of the combination of clear instruction, international peers from a range of backgrounds and experiences, flexible asynchronous content and assignments, encouragement of constructive climate and the opportunity to participate in Discord cohort interactions. I first encountered Flavio's instruction through an assigned article in a class, which led me to his e-books. Flavio has an impressive ability to provide concise explanations that are complete enough to comprehensively introduce topics to beginners. His courses are a valuable extension to his writing at https://thevalleyofcode.com/”
“Flavio's courses are simply fantastic!!! He breakdown all the concepts in small bites that are easy to comprehend and digest. Included in his courses are short videos, text and obviously the discord community that Flavio monitors daily and will response to your question within hours. The classes are top quality at very affordable prices. The entire curriculum is project based so I had the opportunity to learn a concept put it in use right away create a project on the cloud. I highly encourage folks to give the 5 star course a try.”
“I took Flavio’s bootcamp in 2021 while I was unemployed, and it is one of the best things I’ve done for my career. While at the time I felt the content was a little basic, in retrospect this is only because Flavio does such a great job of breaking down concepts. I gained so much knowledge about web technologies I was exposed to daily, but knew little about. Even things I did have some knowledge about, like deployment, were enriched through the bootcamp—now I know about other services I can use to deploy apps more quickly as well as knowledge about how to utilize webhooks to continuously deploy to servers I set up. I still use skills I learned from the bootcamp in my current job as a test automation engineer and am often teaching the skills I learned to more junior members of the team too. Thanks Flavio!”
“At the time I was unemployed, and non-able to pay for a bootcamp. Thanks to Flavio's financial help I could join a high quality bootcamp. By studying seriously his bootcamp + free material, I was able to land a job as a fullstack software developer. Flavio’s bootcamp contains the latest technology that gave a huge advantage over other candidates. Flavio is a great programmer, great teacher, but specially he has a golden heart”
Questions? Email me!