Log inBook a Demo
Assessment
Intermediate

Back-End Engineer (Node.js): build a basic HTTP server

Time available:30 minutes
|
Available in
+8
ByAnthropos
This simulation was archived and cannot be started
1
The challenge

You need to create a secure authentication system for a Node.js server.

2
The issue

The current server lacks a robust login endpoint, leaving user data vulnerable.

★
Your goal

Your goal is to implement and refine a secure, scalable '/login' endpoint.

Your Role

Junior Software Developer@ DevCore Solutions

You are a Junior Developer at DevCore Solutions, a leader in event management technology.

Other participants

Lisa MorettiSenior Software Developer
Elena RicciSoftware Development Manager

Context

DevCore Solutions is a technology company specializing in the development of event management applications, with a base of over 50,000 active monthly users. Its clients include innovative startups, large companies, and government entities. The company's flagship platform has managed high-profile events, such as the International Technology Festival in Milan, with over 100,000 participants in one week.

A distinctive element of DevCore Solutions' solutions is scalability, made possible by a microservices-based architecture that allows adaptation to events of any size. The company uses advanced technologies such as Node.js for server management, Express.js for scalable APIs, and bcrypt for credential protection. Security is a top priority, with the implementation of systems like two-factor authentication (2FA) and updated encryption protocols to protect sensitive data.

As a junior developer at DevCore Solutions, you will collaborate with Lisa Moretti, a senior developer, to implement a secure authentication system in a pre-set Node.js server. You will start from a basic code file and be responsible for creating a /login endpoint to handle authentication requests, verify user credentials, and return appropriate responses.

During the simulation, Lisa will provide detailed feedback on your code, suggesting improvements for structure, readability, and security. It will be your task to make fundamental decisions, such as error handling, implementing security measures against brute force attacks and using techniques like password hashing with bcrypt.

Your work will be supervised by Elena Ricci, the development team manager, who will evaluate your progress and the quality of the implemented authentication system. The simulation will offer you a unique opportunity to apply your skills in Node.js and problem-solving in a realistic and collaborative context.

  • Collaborate with Lisa Moretti to implement a /login endpoint that handles authentication requests.
  • Apply security techniques such as password hashing with bcrypt and the use of parameterized queries to prevent vulnerabilities.
  • Configure a rate limiting system to limit login attempts.
  • Improve the structure and readability of the code following Lisa's suggestions.
  • Ensure that the authentication system is compatible with session management via JWT tokens.
  • Demonstrate problem-solving skills and adopt best practices to ensure a secure and scalable system.

Evaluated Skills

Problem SolvingNode.js

Helpful for

Junior Software DeveloperBackend DeveloperCybersecurity Specialist