call girls in Vaishali (Ghaziabad) đ >àŒ8448380779 đ genuine Escort Service đâïžâïž
Â
Luna - How to build and maintain a github project
1. Luna
How to build and maintain
an application in Github
Arvanitis Panagiotis
Front-end engineer
2. Hello!
I am Panagiotis
Front-end engineer at Agile Actors
I love JavaScript/Node JS and Data visualizations.
Twitter: @rvpanoz
Github: github.com/rvpanoz
2
3. What is this talk about?
In this presentation I will talk about Luna.
A side project which I started a year ago.
Hope you like it! đ
3
4. So.. what is Luna?
Luna is a desktop application that manages
npm dependencies through a modern UI.
4
7. Why I started this project?
â Handle npm dependencies and running npm
commands through a User Interface (UI).
â The applications existed at the time were
incomplete or lack of features (ndm)
* ndm - https://github.com/720kb/ndm
7
8. â Help other developers and collaborate.
â Grow as a developer. Enhance my skills and
knowledge.
8
Why I started this project?
25. Problem has been solved!
â Handle npm dependencies fast - not typing the
commands by hand.
â Find updates and security issues immediately.
â Grow as developer.
25
37. 37
Main Process Renderer Process
â Running npm commands using
nodejs child_process module
â Packaging and distributing
â System logging
â Views (React)
â Business logic (RxJS)
â Predictable state management
(Redux)
â Testing (Jest)
Operating system
(Linux/Windows/macOS)
NodeJS
API
Electron IPC
API
NodeJS
API
IPC Electron
API
DOM
creates
communicates
Application architecture
38. 38
Renderer Process (Web page)
Views
Business logic
RxJS
Predictable state
management
I/O
Side eïŹects
Actions
A Unidirectional model
actions in
actions out
Listen for changes
actions out
41. The branching model
GitFlow WorkïŹow:
â Two main branches
â Supporting branches
41
Why..?
- Changes made through
feature branches
- Continuously support
previous versions
- Familiarity
44. The project structure
44
Why..?
- Clean
- Similar content into separate
folder
- Easy to ïŹnd things
4 main folders:
â App folder
â ConïŹgs folder
â Internals
â Resources