Nikola Vasović, Back-end Developer in Belgrade, Serbia
Nikola Vasović

Back-end Developer in Belgrade, Serbia

Member since August 30, 2019
As a software engineering student and a holder of a national scholarship for talented students, Nikola began working as a freelancer and gained years of experience in web development. For eCommerce websites, he's developed a generic CMS that's now successfully used by several companies in Serbia. Now, as an experienced engineer, Nikola has gained extensive knowledge and feels most productive when he has a back-end developer role in projects.
Nikola is now available for hire

Portfolio

  • Freelance Work
    Laravel, PHP, Java, Flutter, Dart, Spring Boot, Hibernate, MySQL, PostgreSQL...

Experience

Location

Belgrade, Serbia

Availability

Part-time

Preferred Environment

PhpStorm, InteliiJ, Android Studio, VS, Ubuntu

The most amazing...

...project I've implemented is a decentralized file sharing system: an app for secure file sharing between users, based on Ethereum smart contracts and IPFS.

Employment

  • Web Developer

    2017 - 2020
    Freelance Work
    • Developed a cross-platform (iOS, Android) social network App in Flutter, Spring Boot REST API, and Laravel Admin panel. This was used by the Makeover Academy and its students.
    • Implemented a generic CMS for eCommerce websites, which is now successfully used by several companies in Serbia.
    • Created and tested a secure REST API for webshop sales statistics and reports, invoices, authentication, and more.
    • Realized multiple webshops using MVC architecture, with the integration of the aforementioned generic CMS and REST API.
    • Developed the complete front end and back end of a website that hosts recorded classes for many courses at the University of Belgrade, School of Electrical Engineering, which is extremely helpful to students in preparing and passing exams.
    • Constructed the back end of a web application which connects teachers with students along with support for booking private lessons, authentication, and payment.
    Technologies: Laravel, PHP, Java, Flutter, Dart, Spring Boot, Hibernate, MySQL, PostgreSQL, HTML, CSS, JavaScript, jQuery, Git

Experience

  • Social Network for the Makeover Academy (Development)

    Project Parts:
    • Developed a cross-platform (iOS, Android) app using the Flutter framework and the Dart programming language.
    • Built a back-end REST API which was implemented using Spring Boot in Java. The data layer is accessed via PostgreSQL.
    • Implemented a Firebase API (for authentication) and Google Cloud Services (Firestore and Google Cloud Storage).
    • Developed an admin platform in PHP using the Laravel framework which connects to the same PostgreSQL database.

    I was responsible for all parts of the project (excluding App design and deployment). The mobile app includes a subset of standard social network features (like a simple version of Instagram) including posts, likes, comments, followings, chat, and notifications. I also implemented additional functionalities like Makeover courses and lessons (that content is uploaded through the admin panel). I used Google Cloud Storage to store social network media content (videos, images, and lessons). The chat and notification subsystem were implemented using Google Firestore with Firebase-based user authentication.

  • Generic CMS for eCommerce Websites (Development)

    I implemented an admin sales management platform for sophisticated and semi-complex web stores.

    It allows the manipulation of products, categories, brands, coupons, vouchers, invoices, suppliers, orders, and more. In addition to selling, there is also an option to add new text articles to the company blog. Various statistical parameters are also available (based on sales trends), and stock balances can be tracked as well as the distribution of products in any single shop.

    It can be integrated into any client's website because it is entirely independent of the particular sales company. There are also multiple user groups in the system with different degrees of privileges. We built it for the Serbian market, and several online sales companies are currently using it. As the platform facilitates a large volume of sales, so much of the paperwork is automated, which saves a significant amount of time for shop administrators.

    The platform was implemented using the Laravel framework and MySQL database. The front end was built using the Bootstrap library along with standard technologies like HTML, CSS, JavaScript, and jQuery.

  • Find a Worker Application (Development)

    I developed a mobile and web application which connects blue-collar workers—like mechanics, plumbers, electricians, and so on—with clients who in need of their services. The way it works is people who are looking for work provide advertisements for the work that they are capable of doing and the clients peruse them.

    I was responsible for creating and filling out the GUI components for desktop (JavaFX framework) and mobile application (Android Studio) based on a previously defined prototype.

  • Implementation of a Decentralized File Sharing System (Development)

    I implemented a decentralized web platform for secure file sharing between users.

    It's based on Ethereum smart contracts and the InterPlanetary File System (IPFS). I built the front end using the JavaScript API for the Ethereum blockchain and IPFS and executed the back-end code only within the smart contracts, which are implemented using Solidity. A central server doesn't exist in the application at all. That system has a futuristic concept for file sharing without the presence of a third-party server.

    I established a connection with Ethereum network using the Metamask extension for the Google Chrome browser. The main innovation, which the implementation of this system provides, is the protection of file content located on IPFS network. The files are protected using symmetric-key cryptography and related keys for protection are encrypted with public/private keypair.

    I developed that system as an individual project which means that I was responsible for the front end and back end of this decentralized web application.

  • Backgammon Game (Development)

    I developed this Android game in Java using Android Studio.

    The game provides three playing modes: single-player mode against a bot, multiplayer split-screen mode, and spectator mode with two bots playing as opponents. To roll the dice, data is collected from physical device sensors.

    I also implemented three difficulty bot levels using artificial intelligence. An SQLite database stores all of the saved games and history of results.

  • Festival Ticket Reservation (Development)

    I completely developed the front end and back end of a ticket reservation website for a film festival with a large number of screenings over several days in different projection halls.

    I implemented the site using Java Server Faces (PrimeFaces library) and connected the MySQL database entities using JDBC and JPA. The web application also has an MVC architecture type.

  • Audio Device Store (Development)

    The project is intended, above all, to be a website and webshop of a company that has been a leading seller, importer, and distributor of audio equipment in Belgrade for 20 years. The company represents only world-renowned audio brands, and it is the exclusive importer of them for the Republic of Serbia. It also specializes in all facilities where music is an indispensable element of everyday events.

    It is an advanced eCommerce website that is implemented in the Laravel framework using a MySQL database as a data storage. The site has an MVC architecture, and I built the front end using the Bootstrap library along with standard technologies like HTML, CSS, JavaScript, and jQuery. The developed website includes several different user groups, as well as an admin platform through which it is possible to manage the content of the web-store.

    I was responsible for the implementation of the entire website.

  • Shop Transactions Validation (Development)

    I developed a console application for synchronizing, controlling, and validating shop transactions between multiple client programs. It's implemented in Java, using Java Message Service and Glassfish server for remote messaging. We stored all transaction data inside a MySQL database, which is accessible via a Hibernate framework.

  • University Audio Courses (Development)

    I developed the entire front end and back end of a website that hosts recorded classes for many courses at the University of Belgrade, School of Electrical Engineering.

    The site is beneficial to students in their exam preparation. The audio recordings are divided by university levels, sections, and exam titles, and they are playable through a website-embedded audio player. All of the audio files were stored with compression on a central server, and we used a database to index them.

    Along with implementing the MVC architecture in the app, I built the back end using the Laravel framework and the front end using JavaScript, jQuery, Ajax, HTML, CSS, and Bootstrap.

  • Portal for Booking Private Lessons (Development)

    I developed a web app's back end. The app's primary purpose is to connect teachers with students along with providing support for booking private lessons and payment exchanges. The tutors advertise which university courses they can help in as well as their pricing.

    I developed a REST API (using the Laravel framework) and coded REST services for authentication, class booking, and more. I also built models that are responsible for managing MySQL database entities.

  • Battleship Game (Development)

    The game implementation consists of two components: server and client.

    The server component represents the game supervisor, and client components are the players playing the game as opponents. Communication between clients and server was implemented in Java using Sockets, and there is support for both LAN and WAN game lobbies.

    I was responsible for both developing the game in Java and creating a graphical user interface (GUI) using the Java Swing library.

  • Bricks Breakout Game (Development)

    I developed an Android game that implements the physics of a ball bouncing and accelerating. It is a single-player game that was built in Android Studio, using the Java programming language.

Skills

  • Languages

    Java, C++, C, PHP, Dart, JavaScript, HTML, CSS, Assembly, Solidity
  • Frameworks

    Laravel, Bootstrap, Flutter, Spring Boot, Hibernate, JPA, JSF, PHPUnit
  • Libraries/APIs

    jQuery, JDBC, JMS
  • Tools

    Git, Android Studio, PhpStorm, IntelliJ IDEA, Visual Studio, GCC
  • Paradigms

    REST API Architecture, Object-oriented Programming (OOP), Model View Controller (MVC), Concurrent Programming, Socket Programming, Mobile Development
  • Storage

    MySQL, PostgreSQL, Microsoft SQL Server, SQLite
  • Industry Expertise

    Web Development
  • Other

    Ajax, Back-end, Cross-platform App Development, UML Diagrams, RMI, Public-key Cryptography, Machine Learning Engineer
  • Platforms

    Android, Firebase, SuiteCRM, Linux, Windows, Ubuntu

Education

  • Master's degree in Software Engineering
    2018 - 2019
    University of Belgrade, School of Electrical Engineering - Belgrade, Serbia
  • Bachelor's degree with honors in Software Engineering
    2014 - 2018
    University of Belgrade, School of Electrical Engineering - Belgrade, Serbia

To view more profiles

Join Toptal
Share it with others