Modern web architecture based on Node.js - Microservices, REST, noSQL

Code: node-modern-Node
Category: Node.js
Format: 20% lecture / 80% workshop
Duration: 3-5 days
Target audience: developers
Enrollment: Groups, companies
Venue: Client's office.

Training Program

The content of our program can be customised during pre-training analysis.

  1. Building RESTful APIs and Web Apps with Express.js
    1. Express.js: routes, middleware, error handling, template engines
    2. Resources and Representations
    3. Collection resource
    4. HATEOAS - hypermedia
    5. HTML as media type
  2. Database integration (MongoDB)
    1. CRUD (Create/Read/Update/Delete)
    2. sorting and custom pagination
    3. reporting (aggregate framework)
    4. full-text search with MongoDB
    5. Event Sourcing with node-eventstore
  3. Testing Web apps
    1. unit testing and component testing
    2. design for testability
    3. testing patterns
    4. dealing with "difficult" dependencies
    5. tools: mocha, supertest
  4. Structuring bigger apps
    1. assigning responsibilities in a system and identifying major building blocks
    2. dependency injection without frameworks
    3. coding by composition of small libraries and functions (the Unix way)
    4. evolving application structure according to feedback from code
  5. Dealing with asynchronous code
    1. real world problems with callbacks
    2. promises by example
    3. async/await by example
  6. Securing Web Applications
    1. session management and authentication
    2. secure password handling
    3. common attacks prevention (XSS, CSRF, DB injection, DoS etc.)
    4. JWT tokens
    5. OAuth2
  7. Other architectural characteristics
    1. performance: finding bottlenecks with clinic.js
    2. deployability: 12factor approach
    3. resilience: timeout, retry and circuit breaker for the HTTP traffic
    4. ease of integration: Edge Side Include with nodesi
    5. business problem focus: moving operational concerns to the (PaaS) infrastructure
    6. predictability: thisless programming

Download PDF


Meet the experts who will conduct your training.

Contact us for a free consultation.

Firstname and lastname:

If you prefer direct contact then you can always call.

Iwona Sobótka

Training coordinator

I agree to the processing of my personal data in accordance with the Law on the Protection of Personal Data in connection with sending a request via the contact form.

Providing the data is voluntary but necessary to process the query. I have been informed that I have the right to access my data, the possibility of correcting them, demanding stopping their processing.

The administrator of personal data is Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin, Poland.

The information clausule