How to install pnpm
We use ONLY pnpm. If in tutorials you see npm, yarn, bun, or other package managers, ALWAYS SUBSTITUTE them with pnpm.
Git and GitHub are essential for contributing to open-source projects and for developing software in a systematic way.
I suggest starting by learning Git on your own, using a non-development project (it can be anything—tracking changes to text files, for example).
Then create a repository on GitHub and become familiar with branching, issues, Pull Requests (PRs), and commit history.
Suggested resources:
- YT - Git and GitHub for dummies
- YT - How to contribute with GitHub
- YT - What are conventional commits
- Conventional Commits summary
Longer tutorials / crash courses (mainly for reference):
Important
If you're interested in writing frontend code, don't aim to become a TypeScript expert;
instead, focus on understanding it well enough to write solid code.
For anyone who has never used TypeScript, the recommended resource is the TypeScript Handbook.
I recommend following the Handbook for the basics of TypeScript until advanced typing starts to become difficult.
We don't need advanced types for our work—stop once you've achieved a solid understanding of the basics.
Below are suggested resources based on your background:
-
If you know JavaScript, adding types gets you most of the way to TypeScript.
Read this article -
If you already know a programming language like C/C++, C#, Go, Rust, OCaml, or similar, you'll probably learn TypeScript in a few hours—just check some documentation or watch a few videos.
-
If you know Python, TypeScript is more strongly typed and has syntax more similar to C-like languages. You'll probably need a bit more time to understand the type system, but otherwise it's similar.
-
If you've never programmed before, start with the tutorials linked below and get the most out of them. Then look at our repositories to see what level of TypeScript we use.
Read this article
Suggested resources in general:
Important
Learn React before you learn Next.js. Trying to write Next.js without a solid React foundation will be painful.
Also, use TypeScript from the beginning—don't follow tutorials that use plain JavaScript.
If you've never worked with HTML and CSS, learn those first (use any resources you prefer).
Suggested resources for React:
- YT - Fireship 100 seconds
- Next.js - React Foundations recommended
- react.dev - Learn section recommended
- YT - 1.2h crash course — if the previous one is not enough
Note
The second and third links are especially good; the Fireship video (first) is very short so watch it anyway.
Next.js - React Foundations (second) is more NextJS-oriented, while react.dev - Learn section (third) is more traditional React stuff. Do what fits your learning style (or do both).
I couldn't find a comprehensive Next.js tutorial that doesn't include a lot of unnecessary material. What I recommend is the Next.js - Learn App Router.
Feel free to skip Chapters 14–15-16. It's a fairly long course—work through it until you feel ready.
Note (1): The course uses Vercel for deployment, but we are self-hosted. For the tutorial, this doesn't matter—just don't assume Vercel is the only way to deploy a Next.js project.
Note (2): We handle backend work separately; you can still follow the tutorial and adapt to our setup later.
Important
Please, learn CSS first. Also, we (almost) always use flex or grid systems, so do not spend too much time on other ones.
Once you have learned CSS, TailwindCSS is just learning how CSS rules translate into Tailwind class names - you can always look at the docs for that!
We use TailwindCSS as our style "system", instead of standard CSS or CCS-in-JS packages.
WE ARE USING v4
Here are some resources: