Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JuniorDev TechWeek19 Show Case

JuniorDev TechWeek19 Show Case

Avatar for juniordevtga

juniordevtga

May 20, 2019

Other Decks in Technology

Transcript

  1. juniorDevTGA MATIAS IACONO Coding on a 40 year old computer

    to understand today’s technology Tauranga Showcase May 20, 5pm @ BaseStation RSVP : meetup.com/juniordev-tauranga
  2. Coding on a 40 year old computer to understand today’s

    technology A journey to madness and its way back
  3. Why coding in an old computer? - Because you can.

    - Because is a challenge. - Because... code quality!
  4. Sinclair ZX Spectrum - 16 KB of memory (48 KB

    to 128 KB for later models ). - Basic as official included programing language. - Assembler for the braves!
  5. Why this is a challenge? 8 GB of RAM from

    a standard computer today 48 KB of RAM = .23 km
  6. A simple game (of 4400 lines ) ld hl,msgdat ld

    a,b dec a cp 32 jr nc,iscrl0 A for...loop to decrease A and jump to other part of the code if A is equals to 32.
  7. Speed and quality What the consumer wants - Good code

    is easy to maintain (Cyclomatic complexity). - Fast code increase customer quality perception. - Good code is less prone to bugs. - Good code cost less!
  8. Why coding for an old computer? - Gives you a

    different vision of the available resources in your system (They are precious). - Force you to think more creative ways of coding. - Helps you to create better code. - Will help you to spend less time and money fixing bugs. - Will make your customer happier.
  9. juniorDevTGA ADAM & LIAT REIS helloclub.com Building a SaaS application

    with hardware component from scratch Tauranga Showcase May 20, 5pm @ BaseStation RSVP : meetup.com/juniordev-tauranga
  10. Who we are Adam • Born in The Netherlands •

    M.Sc. in Aerospace Engineering • 10 years web development company • 5 years freelance dev & consultant • Started Hello Club in 2016 Liat • Born in Israel • B.Sc. in Mathematics & Computer science • 6 years developer • 3 years freelance dev & consultant • Started Hello Club in 2016
  11. What is Hello Club? All the tools you need to

    efficiently manage your club or organisation Used by tens of thousands users worldwide
  12. Our Tech Stack We use the MEAN stack: MongoDB –

    Document database Express – Backend API framework Angular – Frontend web framework Node – Javascript runtime environment Basically 100% Javascript
  13. Frontend – Angular.js Angular.js At the time the most popular

    javascript front-end framework • Supported by Google • Major rewrite to components • But… starting to show its age • Reached end of life • Planning upgrade to Vue.js
  14. Backend – Node, Express, MongoDB Node Pure modern Javascript leveraging

    all the latest ES2016+ features Express Flexible web application framework • Super fast & scalable • Quick & easy to develop with • Easy to maintain • Fun to work with
  15. Progressive Web App Fully mobile friendly: runs like an app

    & leverages mobile features like notifications, camera, etc.
  16. Support, Marketing & Help Centre Intercom Great all-in-one product for

    managing your support & sales channels • Direct chat for users & leads • Release announcements • Easy to integrate • Self service help centre
  17. The #1 Most Asked Support Query No matter how easy

    and user friendly you make it, people will always find ways to break it. “Help! I can’t login!”
  18. Processing Payments Initially we collected payments into our own bank

    account, but… • Lots of work and added overhead • Prone to mistakes • More responsibility • Regulatory requirements • Anti-money laundering act
  19. Processing Payments Now each club gets their own Stripe and/or

    POLi account • Money going straight to the clubs • Scalable & faster payouts • Less responsibility • Stripe Connect allows automatic deduction of platform fees • Big change, but just in time
  20. Lessons learnt What have we learnt from building our SaaS

    application? • You will have to update your tech stack at some point • Keep up with technology • Keep learning & innovating • Listen to your users, ask for feedback often • The product is never finished • Challenges will come, but don’t let them stop you
  21. Q&A

  22. juniorDevTGA ADAM BROADBENT willingweb.com Using Open Source to create passive

    income through WordPress plugins Tauranga Showcase May 20, 5pm @ BaseStation RSVP : meetup.com/juniordev-tauranga
  23. WordPress • OceanWP Theme & Plugins • Advanced Custom Fields

    Pro (database fields) • WP All Import (spreadsheet upload) • Yoast SEO • Custom Plugin e.g. mattress.zone
  24. juniorDevTGA ROLAND RICH Guarding our ecosystem through offline mobile applications.

    Tauranga Showcase May 20, 5pm @ BaseStation RSVP : meetup.com/juniordev-tauranga
  25. • System to allow all New Zealanders to help identify

    biosecurity pests in New Zealand • Why? Because our economy is heavily reliant on primary production and our isolation provides the opportunity to protect ourselves and our natural environment from new pests and diseases.
  26. Traditional Website: • Always up to date • Not available

    offline Traditional Mobile Application: • Available offline • Not up-to-date
  27. Complete offline functionality • Viewing data • Submitting observations Completely

    data driven • Administrators can update data • Online devices will update immediately • Offline devices will synchronise as soon as they get connection
  28. juniorDevTGA BRADLEY ZANGEL Spaghetti to lasagne; integrating new frameworks into

    legacy PHP code Tauranga Showcase May 20, 5pm @ BaseStation RSVP : meetup.com/juniordev-tauranga zantech.co.nz
  29. Complete rewrite ► Time ► Client satisfaction ► Bugs and

    business rules: battle tested ► Solution: Refactor/Gradual Rewrite
  30. Refactor/Gradual rewrite ► Move code out into classes as it

    is worked on ► Allows for testing, DRY ► Symfony Framework ► Modular, well supported, open source ► Old and new framework running side by side
  31. Working with old framework ► Link symfony framework components into

    old codebase ► Authentication – AD integration ► Dependency Injection ► Doctrine ORM – Easy DB access/CRUD ► Templating - Twig ► Forms – Symfony Form Component ► Other Services - Symfony->old bridge
  32. Working with Symfony ► Completely New Features ► Some old->new

    bridging required ► Existing code with enough feature adds to warrant rewrite ► Thorough understanding of old code and business rules ► New is cheaper than working on old
  33. juniorDevTGA JOSH BIDDICK App building to save the world with

    Flutter Tauranga Showcase May 20, 5pm @ BaseStation RSVP : meetup.com/juniordev-tauranga