Sergio Moretti, Software Developer in Castel Maggiore, Metropolitan City of Bologna, Italy
Sergio Moretti

Software Developer in Castel Maggiore, Metropolitan City of Bologna, Italy

Member since October 19, 2018
Sergio has over a dozen years of experience developing enterprise-level web applications with Java and RDBMS like Oracle, PostgreSQL, and MySQL. He has also expertise in Javascript and HTML related technology with the latest focus on the Angular framework. During his career, he has held almost all positions in the software development process, from software engineer and analyst to project manager and software architect.
Sergio is now available for hire

Portfolio

Experience

Location

Castel Maggiore, Metropolitan City of Bologna, Italy

Availability

Part-time

Preferred Environment

IDEA IDE, Eclipse, Linux, VS Code, Windows

The most amazing...

...project I've designed and built is an HTML template engine and its back-end user interface for a custom, in-house CMS.

Employment

  • Software Architect

    2018 - 2018
    CRIF Spa
    • Adapted an existing banking software product for a new customer.
    • Identified changes to existing software modules in order to meet new functional requirements.
    • Created a Spring Batch application, integrated in the customer's environment, for processing and analyzing a stream of data produced by an internal data warehouse.
    • Nurtured technical relationships with customers in order to collect and analyze technical specifications in collaboration with internal functional analyst business unit.
    • Estimated the time for new software modules based on initial customer requirements.
    • Provided team leadership, coaching, and technical support for a mid-sized team of software developers.
    Technologies: Oracle RDBMS, Spring, Java
  • Senior Engineer

    2013 - 2018
    Gaming Laboratories International, Inc. – GLI Italy B.V.
    • Worked as the project manager in direct contact with international clients.
    • Maintained the projects in terms of billed hours and respect of the deadlines.
    • Lead the team including work assignments and support.
    • Estimated time and costs for new activities.
    • Reviewed the source code of customer's submitter source code in order to verify for product's compliance.
    Technologies: Java
  • Software Engineer/Architect

    2008 - 2013
    Gecod srl
    • Created enterprise-level web applications using Java and RDBMS like Oracle or PostgreSQL based on customers' requirements and specifications.
    • Created HTML template engine and its back-end user interface for a custom, in-house CMS.
    • Created modules for in-house CMS like Calendar, Messages Center, and Forum.
    • Set up and managed Linux-based servers running in-house IT systems and production environments.
    • Created web sites using OpenCMS technology.
    • Maintained the projects in terms of billed hours and respect of the deadline.
    • Collected and analyzed technical specifications and requirements.
    • Estimated time and costs for new activities based on the customer's initial requirements.
    • Provided team leadership, coaching, and technical support for a mid sized team of software developers.
    Technologies: MySQL, jQuery, JavaScript, Java EE, RDBMS, PostgreSQL, Oracle RDBMS, Apache Struts, Java
  • Software Engineer/Architect

    2001 - 2007
    NSI Nier Soluzioni Informatiche Srl
    • Created a software for generation and representation of models regarding accidental phenomena at industrial sites using ESRI map visualization and manipulation components.
    • Created a web-based information system for Occupational Medicine management.
    • Integrated Microsoft CRM 3.0 into a customer's business system information system.
    • Created a web-based information system for Corporate privacy management.
    • Created a web-based system for clinical information management regarding osseus rare diseases.
    • Set up and maintained the production environment based on Linux RedHat Clusters running services Oracle DB 9i/10i, MySql DB, Apache Web Server, and Tomcat server.
    Technologies: C#, Esri, Linux, PL/SQL, JavaScript, XSLT, XML, RDBMS, MySQL, Oracle RDBMS, Java

Experience

  • Angular Sudoku Game
    https://sergiomoretti.info/sudoku

    During my Angular learning time, I’ve built this Sudoku game.
    It’s pretty basic but fully working.

    The source code is available in my GitHub repository.

  • Spring Boot/Angular Glee-o-meter

    Glee-o-meter is a simple Angular 7 application focused on the interaction with a Spring REST server.

    The data-centric application offers a basic user-management section, with the possibility to sign-in new users. Each user can manage a list of glee-levels, each one associated with a date, time and comment. There are three different roles:

    Admin: has full permissions on the whole data
    User manager: has permissions on user data
    User: has full permissions on owned glee data.

    The application has the following features:

    data access with pagination, sorting, ordering, and filtering;
    CRUD operations on whole data;
    sign-in to permit the registration of new users;
    authentication based on oauth2 JWT, with token refresh;
    consumes REST resources /api/glee, /api/users and /api/signin

    The server side is implemented with Spring boot, slightly customized to run on Google App Engine. Server implementation features the following:

    oauth2 JWT authentication with spring-boot, using grant types password and refresh token;
    publish 2 authenticated REST resources /api/glee, /api/users and one public /api/signin for user registration;
    method-level authorization based on @PreAuthorize and @PostAuthorize;
    data access based on logged user’s permissions;
    Spring-based JSR-349 data validation;
    CORS configuration for running separated local server and client development environments;

  • Trnsfr Is a Simple File Sharing Tool for Self-Hosted Content.
    https://sergiomoretti.info/portfolio/2019-01-trnsfr.html

    It’s a Node.js web application that permits the creation of public links with a unique path in the form of /transfers/unique-id. Each link permits the download of a zipped content. The content is defined by a list of glob patterns applied to the server’s local file system. Moreover, it is possible to send one or more emails containing the link, with the addition of a subject and a message body.

  • Using Spring Boot for OAuth2 and JWT REST Protection (Publication)
    REST APIs are used in every language and on every platform. Building a secure REST API is a must-have tool in every developer's arsenal. In this article, Toptal Freelance Java Developer Sergio Moretti shows how to secure a REST API using Spring Boot.

Skills

  • Languages

    SQL, Java, JavaScript, C, Bourne Shell, XML, XSLT, C++, Ruby, HTML, CSS, C#, Python
  • Paradigms

    Object-oriented Programming (OOP), Gang of Four (GOF) Design Patterns, Concurrent Programming
  • Platforms

    Linux, Windows, Eclipse, Java EE, ARM Linux, JEE, Heroku
  • Frameworks

    Angular, Apache Struts, Hibernate, JPA, Bootstrap, JUnit, Spring Boot, Spring, GWT
  • Tools

    Git, VS Code, IDEA IDE, Esri, Apache Maven, Gradle, Subversion (SVN), CVS, Apache Tomcat, WildFly, Makefile
  • Storage

    PostgreSQL, MySQL, JSON, Oracle RDBMS, RDBMS, PL/SQL
  • Libraries/APIs

    jQuery, jQuery SVG, Google Maps API, JAX-WS

Education

  • Progress towards a Degree in Computer Engineering
    1991 - 2000
    University of Modena and Reggio Emilia - Italy
  • Diploma in Computer Science
    1983 - 1988
    Industrial Technical Institute F. Corni - Modena, Italy

To view more profiles

Join Toptal
Share it with others