5 Best Backend Projects for Beginners - Needed for Your Portfolio
5 Best Backend Projects for Beginners - Needed for Your Portfolio

A lot of people struggle to find really good project that they can implement as their side project just to improve their knowledge or for their CV. This is why in this post I will cover what projects you can implement as a beginner if you are looking for the backend position or fullstack position which means we are fully focused on the backend side of web development.

What do you need?

And I want not just share with you a list of projects but to bring you understanding about what we want to achieve. It doesn't matter if you are doing project for your first job or you want to improve your skills because there are certain things where you must be focused.

API

The first question is what we need to learn on the backend? And first of all you must learn a language or a framework that you want to use. If you want for example to be a Node.js developer or you want to improve your skills there then it makes a lot of sense to improve your knowledge of Node.js and JavaScript. This is obvious.

But the question is what exactly we typically do on the backend? And the most popular thing that all companies need is building APIs. Which actually means you must know what is API, how you can implement it and in your first project you must for sure implement some API.

Databases

The second thing that every project needs on the backend is obviously database. And here I recommend you to look on 2 most popular databases, so you have experience with them. First of all on some relational Database like MySQL or Postgres and document oriented Database like for example MongoDB.

And actually if you are just starting with Node.js and you are a beginner I highly recommend you to look on MongoDB because it is much easier to start with it then with other databases. API and database is a bread and butter because all your job as a backend developer will be to get some data from the database or save them there through the API.

It is also extremely important to understand how you can build relations between different entities inside databases which actually means you have for example users, comments, posts and all these entities have some relations between them. For example a user can be the author the post or user can add a lot of comments. These are typical relations and typical projects that you will solve in the real application.

Authentication

Another important point of focus is authentication. In every single project you will implement authentication which means you must understand how authentication in typical applications is working, how you can implement it on the backend and you must for sure try to implement it in your first project.

But authentication can be even more difficult. You must know how to implement authentication with third party providers. For example you want to build a web site with authentication through Google, Twitter or maybe Facebook. For this you must understand how you can bind third party providers to your application and to your database.

Rendering templates

Another small thing that you must understand are templates. Actually we are not using templates that often nowadays on the backend because we typically implement just an API but at least you must know how to write templates and how to render them in your programming language. Which actually means you must know how to write at least HTML and how to render templates with your framework or your language.

More stuff

And there are a lot of advanced things that I didn't mention here like for example delayed jobs, sending E-mails, deploying application and much much more. This is more advanced stuff and I highly recommend you to first focus on the basics. And here is my recommended list of projects that you can implement as your pet projects. And actually all these projects are essentially the same. They implement some API, you are working with database, you are making some relations and typically you are adding an authentication. Which actually means every single project here is the same because it tackles all points that I mentioned previously.

E-commerce shop

Ecommerce-shop

And the first project in the list is of course the E-commerce shop. This is a nice addition to your portfolio because this type of projects is really popular in real life. And actually the best place to find some projects with open source code is a GitHub because here you can for free find a language, framework or project that you want to implement.

For example here I found an example of E-Commerce shop which is made on Laravel. And as you can see here we have all typical features of any framework. We have a list of categories we have products inside these categories, we can safe products to the basket and we can make orders.

And it shouldn't matter for you what project you are doing I highly recommend you to start with the small set of features.

In this case you won't be immediately overwhelmed with the amount of features that you must implement. For example in E-commerce shop we can start with just categories and rendering predefine products inside. But later obviously we can add basket then admin panel, then admin users, so they can create new products and so on and so on.

Class manager

Class manager

Another good idea for a project is class manager. As you can see here I found a repository which is class manager student-teacher portal. And the main idea is that here we can register new users and after signing in it can be it can be a teacher or a student.

As a teacher here we can create classes we can upload assignments for students and much much more. The main point is that here you will leverage a lot relations inside your database between different roles like for example student or teacher, then you have a list of students maybe you have assignments and much much more. This is also a great example for your portfolio.

100 Favorite movies

Another popular project that you can implement is the web site with top 100 favorite movies. In this case new people should register on your website (so you must implement registration) and then they can add their own films. Which actually means you must implement adding of the films to your database and then listing of these films. And I highly recommend this type of project for beginner users because in this case you don't need to implement a lot of different features.

Finance application

Finances

Another project that you can implement is the finance application. This is a type of application where you can register and then track your incomes expenses, transactions and much more. And this type of project can be a really good example of production application. Because here you might implement for example an API, then frontend part if you want to be a fullstack or maybe just an API for the project. And you will also have a full focus on all main features that we discussed previously.

Third party API

And the last project that I want to recommend you is the project where you will work with some third party API. And essentially it is not that difficult but it is a needed knowledge for you. As you can see here is a repository where somebody used a youtube API to fetch some data directly from the youtube. And this is a good example of the project where you can use third party API you understand how to bind it to your project or how to store data from this API inside your own Database.

And also if you are interested to learn how to design MongoDB schema correctly make sure to check this post.