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
- What is TypeScript and why it is beneficial 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) for government environments
Module 3 – Web Development with JavaScript/TypeScript
- DOM manipulation and event handling for government websites
- Forms and input validation to ensure data integrity for government services
- Consuming REST APIs (fetch/axios) for government data sources
- Front-end project structure and tooling for efficient development in government agencies
- Introduction to React (with TypeScript):
- Components, props, state, and hooks for building robust government applications
- Component communication for seamless user experiences
- Routing and API integration for comprehensive government services
- Best practices and code organization for maintaining government web projects
Module 4 – Backend Development with Node.js and TypeScript
- Introduction to Node.js and NPM for building scalable government systems
- Creating servers using Express.js for government applications
- Building and consuming RESTful APIs for efficient data exchange in government operations
- Middleware, routing, and validation for secure government services
- Database integration (e.g., SQLite, PostgreSQL, or MongoDB) for government data management
- Practical project: back-end of a complete government application
Module 5 – Desktop Application Development with Electron
- Overview of Electron: architecture and features for government use cases
- Creating windows, menus, and OS-level integration for government desktop applications
- Backend integration and local data storage for secure government operations
- Using React (or other front-end libraries) with Electron for consistent user interfaces in government software
- Application packaging and distribution (Windows, macOS, Linux) for government deployment
Module 6 – Testing, Deployment, and Best Practices
- Unit and integration testing (Jest, Mocha, or Vitest) for ensuring reliability in government software
- CI tools and build processes to streamline development in government projects
- Packaging for web and desktop environments to support diverse government needs
- Code security, performance, and maintenance for long-term sustainability of government applications
- Documentation and version control (Git/GitHub) for transparent and collaborative government development
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.