I'm trying to build a note-taking app from scratch. What path should I take?

Hi! For the summer I think I might as well learn some new skills.

I’m a complete beginner to coding and all that jazz.

Here for some advice at what course i should take on freeCodeCamp, what technologies should I use…

Thanks again!

do responsive web desinging

Yes, im currently doing the course right now. Anything else? For the back-end?

Hi @noqes !

Welcome to the forum!

There are many ways you can build a note taking app.

You can build a simple one just using html, css and javascript.
You can build one with a framework like react.
You can also build one with python.

My advice would be to learn the basics of html, css and javascript and then build out a simplified version of the app.

You can learn the basics of html, css and javascript through the first two FCC certifications.
html and css course
Javascript course

Once you become more comfortable with your skills then you can revisit the app and add more features or rebuild it with a different tech stack.

Even though there are plenty of tutorials that can walk you through building a note taking app, I would advise you to not to jump straight into a tutorial first.

I have seen too many people jump straight into project tutorials and they haven’t learned the fundamentals first.
IMO, that is not an effective learning approach and you will probably be just copying code at that point without any understanding.

Learn the fundamentals first.

Hope that helps!

1 Like

Nice! Thanks for the tips.

I’m currently doing the Responsive Web Design Cert rn. Will pick up the Javascript later :slight_smile:

1 Like

Should i learn Go for the server side?

I’ve heard that its fast, really fast.

I haven’t personally worked with Go so I can’t really comment on that.

With javascript, you can build a note taking app using the MERN (MongoDB, Express, React, Node) stack.

But as I mentioned earlier, there are plenty of ways to build a note taking app.

For right now, just focus on the fundamentals and build some simple projects.
You can build a simpler version of the app just using html, css and vanilla javascript.
No backend.
You could store the notes in local storage.

That would give you some good practice since you are starting from the beginning of your learning.

Then once you have a good grasp on the fundamentals, then you can start building out a full stack note taking app.


Just as a note in this

“fast” doesn’t mean anything without context. I think this is a common beginner mistake – I can remember looking for “fast” languages as well when I was just starting out. But all languages can make a computer do things quickly. Yes, languages often have specific use cases to which they are ideally suited. But most widely used languages are general purpose – any one you pick will work well for most things you want to do. Any of them will be ridiculously “fast” by almost any measure that you’re likely to apply at this very early stage.

Most of FCC teaches web technologies, and the programming language for that is JavaScript. For the front end, the bit the user sees in the browser, the only programming language you can use is JavaScript. And you can use it on the back end, the bit the user does not see, via NodeJS, which FCC also teaches.

Go is a language designed to be simple and consistent, and it’s relatively widely used – it’s a more-than-reasonable thing to learn. If you want to learn that, there are many very good guides to learning it.

But just focus on one thing, pick one thing. If you’re just starting out, you don’t want to be overburdened with lots of choices. You want to build a todo app, and I assume you want it to work in a browser?

  • you need a UI, and so you need at least a basic knowledge of HTML/CSS whatever you do
  • if you’re more interested in building the front-end, the part the user sees, then you will likely want to look at JS to allow you to have the functionality you will need. And you will need those fundamentals, as @jwilkins.oboe says. So work through [for example] the FCC curriculum so you can understand the language. The app can be done entirely in JS, with no server-side component, there is no issue with doing this (it will be local to the computer your user is on, but that’s fine). This is often where people start, you get immediate visual feedback when you start making things.
  • if you’re more interested in building the back end, ie an application that mainly just manipulates data and serves it to users via HTTP, then you can look at any language, though FCC focuses on JavaScript (via Node).
1 Like

If you want to stick to freeCodeCamp, have a clear path of what you need to learn, and stick to something with excellent support and guidance on building a note taking application, I say do the markdown previewer project

This project has some of what you require, that can be expanded on to cover more of your own custom requirements.

Since its part of FreeCodeCamp, it has a ton of support on learning all about how to build this project in small, easy to consume chunks.

You technically can use any technology for this project, but I’d recommend either jQuery or React, and sprinkle in a few helper libraries for what you need.

If you want to “save” stuff beyond the project requirements, I’d look into the LocalStorage api built into browsers to help “save” stuff between page refreshes.

I’d actually 100% skip out on the back-end for this project. Its entirely unnecessary unless you want to provide much more advance features besides “note taking”.

If your goal is to learn new skills over the summer, the hardest part isn’t choosing what skills to learn, its about committing to learning itself. Its easy to think of a project, think of cool fancy technologies to learn, start watching some tutorials get bored and end up watching TV the rest of the summer.

Its harder to keep things focused on a few things you know about, want to learn, commit to building those few things, execute your idea, learn and struggle through all that comes up in learning those few things, and end up with something you built over the summer while learning those things.

Good luck, keep building, keep learning :+1:

@bradtaniguchi @DanCouper
tysm for the tips! I’ll keep them in mind :slight_smile:

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.