Angular πŸ‡ΊπŸ‡¦ - practical notes
1.63K subscribers
1.6K photos
1 file
532 links
Angular - practical notes

This group is for posting practical notes for Angular developers. Mostly all posts are for quick implementation https://t.me/angular_practical_notes (Commenting on posts only in ENG and UA langs here). Welcome!
Download Telegram
Hello, friends!
As you can see, I'm a Ukrainian software engineer who tries to do volunteer fundraisers to support the Armed Forces of Ukraine. Sometimes it takes a lot of time and I am not able to maintain this channel for you. Please help me close these fundraisers because without the Ukrainian army there will be nothing Ukrainian. Thank you very much!

πŸ’΅ FOR Ukraine:
https://send.monobank.ua/jar/AgppwxhwLX
5375 4114 1222 8582

🌎 FOR ALL DONATS:

πŸ’΅ SWIFT code: UNJSUAUKXXX

πŸ’΅ PayPal: luckystudydanit@gmail.com

My profile with reports after closing fundraiser :
https://www.facebook.com/volunt2erua/

also all reports in our πŸš€ channel:
https://t.me/toxicc_squad
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘2
πŸ“„ Saga Pattern Guide in Microservices with Node.js

#nodejs #guide #pattern

The Saga pattern addresses this by breaking a transaction into smaller, local transactions handled by different services.


There are 2 approaches to implementing the Saga pattern: Choreography-Based Saga and Orchestration-Based Saga.

β€” Orchestration-Based Saga: A single orchestrator (arranger) manages all the transactions and directs services to execute local transactions.
β€” Choreography-Based Saga: All the services that are part of the distributed transaction publish a new event after completing their local transaction.


Choreography-Based Saga approach and a real-world hotel room reservation scenario with 3 microservices: Booking Service, Payment Service, and Notification Service.

β€” Booking Service: Starts the process by reserving a room. This is the first local transaction. Once successful, it sends a message to the Payment Service to process the payment.
β€” Payment Service: Receives the message and processes the payment. If the payment is successful, it commits its local transaction and informs the Booking Service and Notification Service.
β€” Notification Service: On receiving confirmation of successful payment, it sends a booking confirmation email to the user.
β€” Handling Failures: If the Payment Service encounters an issue (e.g., payment decline), it returns a failure message to the Booking Service. The Booking Service then executes a compensating transaction to cancel the room reservation, ensuring the system returns to its original consistent state.


Prerequisites

β€” Node.js project with necessary dependencies (express, amqplib, nodemailer, mongoose, dotenv) installed.
β€” RabbitMQ server running locally or remotely.
β€” Email server or service for the Notification Service (e.g., Nodemailer with SMTP or an email API service).


βœ… Article link
πŸ‘2
πŸ“„ @for vs *ngFor β€” Angular 17 : The newest version of Angular

#angular #for #ngFor

βœ… Article link
❀3
πŸ“„ Declarative way of working with signal effects

#angular #signals #effect

...This approach simplifies the reactive component state management in Angular applications, making the code more declarative and easier to maintain...


βœ… Article link
πŸ‘2
πŸ“„ Permission/Role-based Security

#angular #guard #guide

No matter what client application you are working with, the following are the five ingredients that are needed to implement permission-based security:

1 β€” Client-side API Resource
2 β€” Client Side Session Service
3 β€” Fall-back Route
4 β€” Navigation Guards
5 β€” Fragment Guards

βœ… Article link
πŸ“„ 1/3 100+ FREE Resources Every Web Developer Must Try

#frontend #info

FREE Resources to Learn Web Development πŸ”₯

Websites: freeCodeCamp, MDN Web Docs, W3Schools, Scrimba, Codecademy, TheOdinProject, Frontend Mentor, Javascript30, Coursera, Khan Academy

YouTube Channels: Traversy Media, The Net Ninja, Code with Harry (Hindi), Web Dev Simplified, Coder Coder, The Coding Train, FreeCodeCamp

FREE Hosting Platforms for Your Websites πŸ”₯

β€” Netlify: Deploy your web projects with ease.
β€” Render: Host web applications and static sites effortlessly.
β€” GitHub Pages: Host your static websites directly from your GitHub repository.
β€” Firebase Hosting: Scale your web apps effortlessly with Firebase.
β€” Vercel: Deploy websites and applications with automatic deployments.
β€” Cyclic.sh: Host your static sites with zero configuration.
β€” Appwrite: Open-source backend server for web and mobile developers.
β€” Supabase: Build modern apps with a scalable backend.
β€” InfinityFree: Free and unlimited web hosting with PHP, MySQL, and more.
β€” Surge: Static web publishing for front-end developers.

FREE APIs for Your Projects πŸ”₯

β€” OpenWeatherMap API: Access current weather data for any location.
β€” News API: Retrieve live news articles from various sources.
β€” REST Countries API: Get information about countries worldwide.
β€” Chuck Norris Jokes API: Lighten up your projects with Chuck Norris jokes.
β€” Open Food Facts API: Access food product information and ingredients.
β€” Reddit API: Fetch Reddit data, including posts and comments.
β€” OneDrive API: Manage files and folders on Microsoft OneDrive.
β€” Dogs API: Bring adorable dog images and information to your projects.
β€” GIPHY API: Integrate GIFs and stickers into your applications.
β€” OMDb API: Access a database of movies and TV shows.
β€” VirusTotal API: Analyze suspicious files and URLs for malware.
β€” PokeAPI: Retrieve PokΓ©mon data for your gaming-related projects.
β€” NASA API: Access a wealth of NASA data, including imagery and information.
πŸ‘5πŸ”₯1
πŸ“„ 2/3 100+ FREE Resources Every Web Developer Must Try

#frontend #info

FREE Sites for Vectors, Images, and Illustrations πŸ”₯

β€” Freepik: Discover free vectors, photos, PSDs, and icons.
β€” Vecteezy: Find high-quality vector art, graphics, and illustrations.
β€” Unsplash: Access over a million free high-resolution photos.
β€” Pixabay: Explore a vast library of free images and videos.
β€” Flaticon: Download free icons, SVG, PSD, PNG, EPS format, or as ICON FONT.
β€” Openclipart: Share and use free clipart and images.
β€” SVGRepo: Download SVGs for free.
β€” Vectorportal: Free vectors, clip art, and icons.
β€” SVGBackgrounds: Customizable SVG patterns and backgrounds.
β€” FreeDesignFile: High-quality graphic design resources.
β€” Pexels: Find free stock photos and videos shared by talented creators.
β€” Vectorian: Download royalty-free vector art, stock photos, and stock footage.

FREE Icons for Your Projects πŸ”₯

FontAwesome, Flaticon, Iconfinder, Material Icons, Icons8, BoxIcons, Feather Icons, IcoFont, SVGHUB, Tabler Icons, Iconsmind, Iconmonstr, SVGRepo

FREE Fonts for Your Projects πŸ”₯

Google Fonts,1001FreeFonts, Fontjoy, Fontsly, FontSpace, AbstractFonts, FontZone, DevFonts, DaFont, FontSquirrel, FontFabric

FREE Cheat Sheet SitesπŸ”₯

β€” HTML Cheat Sheet: Quick reference guide for HTML elements and attributes.
β€” CSS Cheat Sheet: Comprehensive guide to CSS properties and selectors.
β€” JavaScript Cheat Sheet: Handy reference for JavaScript syntax and concepts.
β€” Git Cheat Sheet: Essential commands and workflows for Git.
β€” Markdown Cheat Sheet: Markdown syntax guide for creating rich text formatting.
β€” React Cheat Sheet: Quick overview of React concepts and syntax.
β€” Learn x in y minutes: Concise tutorials to learn various programming languages and tools quickly.
β€” SQL Cheat Sheet: Comprehensive SQL commands and queries reference.
β€” OverAPI: Collection of cheat sheets for various programming languages and frameworks.
πŸ‘2
πŸ“„ 3/3 100+ FREE Resources Every Web Developer Must Try

#frontend #info

FREE Sites for HTML/CSS Templates πŸ”₯

HTML5UP, HTMLRev, Free-CSS, Templated, FreeHTML5, Start, Bootstrap, Bootswatch, BootstrapTaste, Cruip, Tooplate, HTML5xCSS3

Learn CSS by Playing Games πŸ”₯

CSS Diner: Practice CSS selectors with a fun game.
Flexbox Froggy: Learn CSS Flexbox by playing this game.
Grid Garden: Master CSS Grid layout by playing this game.
Flexbox Defense: A game to learn CSS Flexbox.
CSSBattle: Compete against others by writing CSS code.
Flexbox Zombies: Learn CSS Flexbox by playing this game.

FREE Code Editors πŸ”₯

β€” Visual Studio Code (VS Code)
β€” Sublime Text
β€” Brackets
β€” Vim

JavaScript Animation Libraries πŸ”₯

β€” Anime.js: Lightweight JavaScript animation library.
β€” ScrollReveal.js: Easily reveal elements as they enter the viewport.
β€” Popmotion: A functional, flexible JavaScript motion library.
β€” AniJS: Declarative handling library for CSS animations.
β€” Wow.js: Reveal CSS animation as you scroll down a page.
β€” Typed.js: A JavaScript library that types.
β€” Velocity.js: Accelerated JavaScript animation.
β€” GSAP: Professional-grade animation for the modern web.
πŸ‘4❀2πŸ”₯1
This media is not supported in your browser
VIEW IN TELEGRAM
πŸ“„ Customizable Angular animations

#angular #animations #ui_element

...A component with customizable animations might look like this...


// collapse.ts

const closedStyle = style({
height: 0
});

const openStyle = style({
height: '*'
});

const timings = '{{duration}}ms linear';

const defOptions: AnimationOptions = {
params: {
duration: 300
}
};

export const collapse = trigger('collapse', [
transition(
':enter',
animation([closedStyle, animate(animateTimings, openStyle)]),
defaultOptions
),
transition(
':leave',
animation([openStyle, animate(animateTimings, closedStyle)]),
defaultOptions
),
]);


// bonus.component.ts

@Component({
animations: [collapse],
host: {
'[@collapse]': 'animationOptions',
},
})
export class BonusComponent implements OnInit {
@Input() public duration = 300;
public options!: IAnimationOptions<string>

public ngOnInit(): void {
this.options = {
value: '_',
params: {
duration: this.duration
},
};
}
}


βœ… Article link
πŸ‘3❀1πŸ”₯1