Course Outline
Module 1 – JavaScript Fundamentals
- Introduction to modern JavaScript (ES6+)
- Data types, operators, and control structures
- Functions, scope, and closures
- Arrays, objects, and data manipulation
- Asynchronous programming: callbacks, promises, and async/await
- Best practices and coding standards for government applications
Module 2 – TypeScript Essentials
- Overview of TypeScript and its benefits for government projects
- Static typing and type inference
- Interfaces, custom types, and enums
- Classes, inheritance, and access modifiers
- Generics and decorators
- Project setup and compiler configuration (tsconfig.json)
Module 3 – Web Development with JavaScript/TypeScript
- DOM manipulation and event handling for government websites
- Forms and input validation to ensure data integrity
- Consuming REST APIs (fetch/axios) for secure data exchange
- Front-end project structure and tooling for efficient development
- Introduction to React (with TypeScript):
- Components, props, state, and hooks for modular design
- Component communication for seamless user experiences
- Routing and API integration for dynamic content
- Best practices and code organization to maintain government standards
Module 4 – Backend Development with Node.js and TypeScript
- Introduction to Node.js and NPM for scalable backend solutions
- Creating servers using Express.js for robust web applications
- Building and consuming RESTful APIs for data-driven services
- Middleware, routing, and validation to ensure secure and efficient operations
- Database integration (e.g., SQLite, PostgreSQL, or MongoDB) for persistent storage
- Practical project: back-end of a complete application for government use
Module 5 – Desktop Application Development with Electron
- Overview of Electron: architecture and features for cross-platform development
- Creating windows, menus, and OS-level integration for user-friendly interfaces
- Backend integration and local data storage to support offline functionality
- Using React (or other front-end libraries) with Electron for consistent user experiences
- Application packaging and distribution (Windows, macOS, Linux) for broad deployment
Module 6 – Testing, Deployment, and Best Practices
- Unit and integration testing (Jest, Mocha, or Vitest) to ensure reliability
- CI tools and build processes for continuous improvement
- Packaging for web and desktop environments to meet diverse needs
- Code security, performance, and maintenance for long-term sustainability
- Documentation and version control (Git/GitHub) for transparent collaboration
Summary and Next Steps
Requirements
- An understanding of fundamental programming concepts
- Experience with HTML and CSS
- Proficiency in using the command line and a code editor
Audience for government
- Front-end and back-end developers
- Software engineers and full-stack developers
- Technical professionals transitioning to JavaScript ecosystems
Testimonials (5)
I liked how Gunnar wrote pretty much all of the code on the fly as we were going through, but that there was plenty of pre-prepared material on the google drive that I can refer to after the training. The code Gunnar wrote based on the sample data I provided beforehand was also extremely useful and also made the training relevant to our own datasets.
Ranvir - Schroders Personal Wealth
Course - Visual Studio Code
Multiple examples for each module and great knowledge of the trainer.
Sebastian - BRD
Course - Secure Developer Java (Inc OWASP)
Module3 Applications Attacks and Exploits, XSS, SQL injection Module4 Servers Attacks and Exploits, DOS, BOF
Tshifhiwa - Vodacom
Course - How to Write Secure Code
Real-life examples.
Kristoffer Opdahl - Buypass AS
Course - Web Security with the OWASP Testing Framework
The trainer's subject knowledge was excellent, and the way the sessions were set out so that the audience could follow along with the demonstrations really helped to cement that knowledge, compared to just sitting and listening.