Modern Web architecture based on Node.js

Code: modern-Node
Category: Node.js
Format: 20% lecture / 80% workshop
Duration: 3 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. Express.js
    1. routes
    2. middleware
    3. error handling
    4. template engines
    5. connecting to MongoDB
  2. REST
    1. Resources and representations
    2. Content Negotiation
    3. Collection Resource
    4. HATEOAS - hipermedia
    5. HTML as media type
  3. Layered Architecture
    1. Dependency Injection without frameworks
    2. Asynchronous Dependencies
    3. CRUD
    4. controllers
    5. services
    6. repositories
    7. domain logic
    8. data validation
  4. Event Sourcint and CQRS Architecture
    1. aggregates, commands and events
    2. modelling invariants
    3. node-eventstore (MongoDB, in-memory)
    4. command handlers
    5. event publishing with HTTP
  5. Pipes and Filters Architecture with Streams
    1. a case for streams
    2. stream types (readable, writable, transform)
    3. core Node.js streams (http, fs, zlib)
    4. npm stream modules (through2, split2)
    5. pipes and filters architecture
  6. ## Testability
    1. design for testability
    2. dealing with "difficult" dependencies
    3. London school of unit testing
    4. Chicago school of unit testing
    5. Component testing
    6. tooling: mocha, tape, supertest
  7. ## Refactoring Legacy Node.js
    1. finding "seams" in code
    2. adding characterization tests
    3. using code coverage to find dead code
    4. identifying code smells
    5. automated IDE based refactoring

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