teleren/devto huggingface dataset:
Unveiling the essence of Clean Architectures 🫣
Tags: cleanarchitecture, software, architecture, decoupling
Published: 2023-09-01 13:58:30

In the world of software development, the term **"Clean Architecture"** is frequently discussed, yet its true essence often remains elusive. Let's demystify this concept and shed light on the fundamentals of clean architectures in a straightforward manner.

At its core, Clean Architecture is a software design approach that places a strong emphasis on **separating concerns and achieving modular organization, with well-defined layers and responsibilities**. The ultimate goal? **Creating systems that are highly maintainable, scalable, and testable**. Clean Architecture strives **to keep source code clean, independent of frameworks and technologies, thus enabling seamless adaptability to changes and enhancements over time**.

Within the realm of clean architectures, several distinctive approaches exist, each offering its own set of advantages and drawbacks. Among these approaches, we find notable names such as **Layered Architecture, Hexagonal Architecture** (also known as Ports and Adapters), **Onion Architecture, Impure Domain Architecture, Schema Architecture**, and, quite explicitly, **Clean Architecture** itself.

In upcoming articles, we will delve deeper into each of these architectural paradigms, unraveling their intricacies and exploring their practical applications. Stay tuned for a journey through the world of clean architectures!
What was your win this week?
Tags: discuss, weeklyretro
Published: 2023-09-01 13:40:00

---
title: What was your win this week?
published: true
description: Looking back on this past week, what was something you were proud of accomplishing?
tags: discuss, weeklyretro
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wyck78r593005hlbngyn.jpg
---

Hey y'all 👋

Hope you all have wonderful weekends!

Looking back on this past week, what was something you were proud of accomplishing?

All wins count — big or small 🎉

Examples of 'wins' include:

- Starting a new project
- Fixing a tricky bug
- Going bird watching 🦩

---

![A flock of flamingos walking in shallow water, the words "weekend?" are popping up above the birds heads in little thought bubbles](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/auss49qr6z05m1pe0kwz.gif)
React native Search In SectionList
Tags: reactnative, javascript, react, tutorial
Published: 2023-09-01 13:29:03


![Image of SectionList with Search](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zq6j7ctr61mcsmdbawxd.png)

[SectionList with Search](https://snack.expo.dev/@sahilkash/sectionlist-example-with-search)
Requirement: Add search in SectionList of react native

Here's [Js code for filtering](https://playcode.io/1580772) used

```js
const sectionList = [{
    caption: 'caption1',
    data: [{
        id: '1',
        title: 'Payment',
        description: 'Pay info',
    }, {
        id: '2',
        title: 'Refund',
        description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Dicta et ipsam voluptate commodi nulla asperiores corporis, sapiente quasi obcaecati quae totam consequatur cum, perspiciatis pariatur !',
    }, {
        id: '3',
        title: 'Mobs',
        description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Dicta et ipsam voluptate commodi nulla asperiores corpori!',
    }, {
        id: '4',
        title: 'test',
        description: 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Dicta et ipsam voluptate commodi nulla',
    }, ],
}, 
{
    caption: 'caption2',
    data: [{
        id: '5',
        title: 'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Recusandae eveniet?',
        description: 'Custom desc',
    },{
        id: '9',
        title: 'Lorem ipsum, dolor sit amet consectetur adipisicing elit. Recusandae eveniet?',
        description: 'Lorem ipsum Custom desc',
    }, ],
}, ];
const query = 'Lorem ipsum' // Not working

const res = sectionList
  .map(d => ({ ...d, data: d.data.filter(c => c.description.includes(query)) }))
  .filter(d => d.data.length)

console.log(res);
```
Who's looking for open source contributors? (week 57)
Tags: discuss, opensource, contributorswanted, codenewbie
Published: 2023-09-01 13:28:16

---
title: Who's looking for open source contributors? (week 57)
series: Looking for Contributors
published: true
description: Discover which open source projects are actively seeking contributors. Learn how you can make a meaningful contribution to the open source community and gain valuable experience. Find out who's looking for open source contributors now.
tags: discuss, opensource, contributorswanted, codenewbie

# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---
Open Source thrives through shared efforts. Whether you're a newcomer or a veteran, we're here to encourage your contributions, motivate your endeavors, and provide valuable assistance to maintainers. Together, we are building amazing things!

## Tell us about your project
_Promote your project by providing a link to the repo. Everyone who posted in previous weeks is welcome back this week, as always 😄_

Open Source should be a welcoming space for contributors. The README is the front door of your project. If you'd like to check out an example of a README, here's our [OpenSauced/insights README](https://github.com/open-sauced/insights).

If you submit please have the following in your repo to make it welcoming and helpful for contributors:

1. README.md
2. CONTRIBUTING.md

Feel free to drop your issues and repos in the [OpenSauced Discord](https://discord.gg/opensauced) #:eyes:-looking-for-contributors channel at any time! 

If you're new to open source, and you're not sure where to start, check out our [Intro to Open Source course](https://github.com/open-sauced/intro). 

Finally, consider reading the [Best Practices for Maintainers](https://opensource.guide/best-practices/).

Just a note to say, we've restarted this post from something Ben was doing for a while :star-struck: 

Happy contributing!
I made platform for developers to monitor their coding time.
Tags: javascript, programming, opensource, typescript
Published: 2023-09-01 13:19:00

Maintain progress and flow of your coding.

My name is Sushant and in this post, I will be going to tell you about my product that I am going to release soon. This product is completely free and especially being developed for programmers like me. For the first month I have been working on a product called [ProgFlow](https://progflow.tech)


## What is ProgFlow?
It is a free platform that will monitor your coding activities. It will tell you how much time you are spending in coding, in which project you are spending your time, which language you are working in, and your average coding time.

The best thing about my platform is that you can set your coding goals and you can analyze when you are hitting your goal or not. You can share your coding reports with anyone on social media as well and you can show them to your recruiter to prove how much active you are in coding. This will help you to build your profile.


## How ProgFlow monitor coding activities?
I have developed a VS Code extension that helps to monitor your coding time. It is completely open-source and secure to use. Your data will always be in the right hands.


## Platform Tour
This is the main Dashboard of my platform. I have many more things to show but I would like to keep them for the next updates.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rjpotlxmbc0dwcjnik68.png)

## Price & Launch Date
I am aiming to launch this platform in the third week of September. This platform will be completely free for everyone.


## Pre-Register Yourself 😃
If you want to try out my platform then you can pre-register yourself and an email will be sent to you when the platform launches. You can register yourself at [https://progflow.tech](https://progflow.tech)


## Final Words
I have spent a lot of time developing this thing for completely free and I will be spending that same time on upcoming updates and features also. I would like to hear your reviews and feedback. You can reach me via LinkedIn. Thank you and have a nice day.
The Impact of Negative Reviews on MouthShut: Why Review Removal is Crucial
Published: 2023-09-01 13:14:06

In the age of the internet, user-generated content has become a powerful force in shaping consumer decisions. Before trying a new restaurant, booking a hotel, or purchasing a product, many of us turn to online review platforms to gather insights from fellow consumers. One such platform that has gained significant popularity in India is MouthShut. With the rise of [Mouth Shut reviews](https://ibrandtech.com/mouthshut/), both businesses and consumers have experienced its impact.
Frontend Mentor Challenges - QR Code Component - Tailwind CSS
Tags: codepen, beginners, html, tailwindcss
Published: 2023-09-01 13:06:56

<p>By building realistic projects, that take coding skills to the next level.</p>

Codepen: https://codepen.io/collection/Wvgmev

Frontend Mentor: https://www.frontendmentor.io/profile/kanishkasubash
Best SEO Service in Bhubaneswar - Smart 5 SMS
Published: 2023-09-01 12:47:59

Are you looking to boost your website traffic and improve your online visibility? Look no further than Smart 5 SMS! We are a leading [SEO service company in Bhubaneswar](https://smart5sms.in/search-engine-optimization) with a proven track record of success.

We offer a comprehensive range of SEO services, including:

Keyword research and analysis

- On-page optimization
- Off-page optimization
- Content writing and editing
- Link building
- Technical SEO
We work with businesses of all sizes to help them achieve their SEO goals. We understand that every business is different, so we tailor our services to meet your specific needs.

Contact Smart 5 SMS today to learn more about our SEO services and how we can help you boost your website traffic.

Visit our website or call us today to get started!
Best Tollfree and IVR Service provider in Bhubaneswar
Published: 2023-09-01 12:43:05

Looking for a reliable and affordable[ toll-free and IVR service provider in Bhubaneswar](https://smart5solutions.com/Tollfree-IVR)? Look no further than Smart 5 Solutions! We offer a wide range of services, including:

Toll-free numbers
IVR systems
Bulk SMS and voice calling
Missed call services
Call tracking and analytics
We are committed to providing our customers with the best possible service, and we offer a 100% satisfaction guarantee. Contact us today to learn more about our services and how we can help you improve your business.

Why Choose Smart 5 Solutions?

We are a leading toll-free and IVR service provider in Bhubaneswar.
We offer a wide range of services at affordable prices.
We are committed to providing our customers with the best possible service.
We offer a 100% satisfaction guarantee.
Contact Us Today

To learn more about our services or to get a quote, please contact us today. We would be happy to answer any of your questions and help you find the perfect solution for your business.

Call us at 074400 05000 or visit our website at https://smart5solutions.com/.
Exploring Abstraction and Decoupling in software development 🤩
Tags: architecture, abstract, softwaredevelopment, softwareengineering
Published: 2023-09-01 12:39:00

In the **world of software development**, there are two distinct types of **abstractions** that play essential roles. The first is closely related to the Object-Oriented Programming (OOP) paradigm and serves as a **technique to simplify the modeling and manipulation** of real-world systems, including objects and their groups. This approach involves hiding intricate internal details while emphasizing elements that are crucial for a program's operation.

However, the primary focus of this article centers on abstraction, specifically **the principle of dependency inversion**.

To put it simply, abstraction involves separating the **"what"** from the **"how"**. This means isolating the purpose or functionality of a component from the specific way it accomplishes that functionality.

Translating this concept into programming terminology, the **"what"** represents **the action**, often defined through interfaces or abstract classes. These actions may accept input parameters and produce results. The **"how"** pertains to **the procedural details**, encompassing the manipulation of these parameters and internal components to generate outcomes. This intricate process is embodied by concrete classes or implementations.

At its core, abstraction in software design serves a **fundamental purpose** in our solutions—namely, **decoupling**. This **decoupling enhances modularity, flexibility, and maintainability**. It **breaks down dependencies**, ensuring that **modifications to one component do not trigger a chain reaction across the entire system**.

**Have you ever pondered what the landscape of software development would look like without the concept of decoupling?** Such contemplation can evoke a **sense of complexity**, underscoring the profound impact of abstraction on our industry.

**The intricate interplay between abstraction and decoupling enhances our ability to design sophisticated systems with elegance**. As we navigate the dynamic realm of software engineering, comprehending and harnessing these concepts stand as pivotal tools in our pursuit of innovation and efficiency.

![Abstraction diagram architecture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lmotrj9ctlq4inekfqc9.jpg)

[I suggest you continue reading the next article](https://dev.to/vickodev/software-architecture-and-abstraction-for-newbie-3nob)
No deployment to HTTPS?
Tags: react, nextjs
Published: 2023-09-01 12:26:28

ANY production-ready web service must support HTTPS.

Surely it is not controversial to assert that it should be easy for "deployment" -- as in `yarn build`, for example, -- to result in a service that uses HTTPS (as opposed HTTP) on the designated port. Now that CRA is dead, I find no practical way to accomplish this using React.

The stance taken by the [official React documentation](https://react.dev/learn/start-a-new-react-project) is misleading at at best:

> Next.js is maintained by Vercel. You can deploy a Next.js app to any Node.js or serverless hosting, or to your own server. Fully static Next.js apps can be deployed to any static hosting.

I've spent the last few days trying to make the simple out-of-the-box `create-next-app` from `next.js` run on https. So far as I can tell, according to the `next.js` site and its several online communities, the only way to support https is to **host the site on vercel**.

That is unacceptable.

For all its flaws, the approach used by CRA was elegant and worked. All that was needed was to run `yarn build` and point a properly configured `httpd` (I use Apache) service at the resulting build directory.

While it is possible to do a "static" build this way, that results in significant loss of needed behavior.

I understand why CRA was deprecated. I am disappointed that the alternatives for replacing it do not apparently include an approach that provides `https` support comparable to CRA.
Cool Tools: Speed Up Composer v1.x Installations
Tags: composer, cooltools, coding, performance
Published: 2023-09-01 12:23:03

Composer is a dependency manager for PHP. It helps you to install and manage the libraries your project needs. `composer v2.x` has improved the performance significantly than `composer v1.x`. However, if you're still using `composer v1.x`, you can use the `hirak/prestissimo` plugin to speed up the installation process.

## What is `hirak/prestissimo`?

It's a Composer 1.x plugin that downloads packages in parallel to speed up the installation process. By default, Composer downloads packages one at a time. This can be slow, especially if you are installing a lot of packages. `hirak/prestissimo` allows you to download packages in parallel, which can significantly reduce the installation time.

**Useful links:**
- Packagist: https://packagist.org/packages/hirak/prestissimo
- GitHub: https://github.com/hirak/prestissimo
- Documentation: https://github.com/hirak/prestissimo/blob/master/README.md

## How to install

```
composer global require hirak/prestissimo
```

This will install the plugin globally, so you can use it with all of your projects.

## How to use

```
composer install -o
```

This will tell Composer to use `hirak/prestissimo` to download the packages.

## How much it speed up dependency installations?

In some benchmarks, it has been shown to speed up Composer installations by up to <u>10 times</u>. 

For example, a benchmark by dotdev: https://dotdev.co/speed-up-composer-with-prestissimo/ found that it reduced the installation time of a project with 200 dependencies from 288 seconds to 26 seconds

## Wrap-Up

`hirak/prestissimo` is a simple and effective way to speed up Composer installations. If you are using `composer v1.x`, I recommend installing this plugin to improve the performance of your installations. 

Happy Coding!
Course Recap and Next Steps in Swift Programming
Tags: programming, tutorial, swift
Published: 2023-09-01 12:05:08

As we wrap up this course, it's important to take a moment to reflect on the journey we've embarked on together. Over the past eight weeks, we've covered a wide range of topics, from the basics of Swift programming to the intricacies of creating a user-friendly weather application.

## Course Recap

We started with an introduction to Swift, where we learned about its syntax, control flow, functions, and data structures. We then delved into SwiftUI, exploring how to create interactive user interfaces.

In the following weeks, we covered networking, understanding HTTP and REST, and making API calls with Swift. We learned how to access and use a weather API, parse JSON data, and represent this data using models.

We also explored the Core Location framework to fetch user location data and learned how to save and load user preferences. Finally, we focused on enhancing the user experience of our app, testing, and debugging.

## Improving Your Weather Application

While your weather application is now functional, there's always room for improvement. Consider adding more features, such as:

- A weekly or hourly weather forecast.
- Weather alerts or notifications.
- Integration with the user's calendar to provide weather forecasts for upcoming events.
- A feature to share the weather forecast with friends via social media or messaging apps.

## Further Learning and Development in Swift Programming

Swift is a powerful and versatile language, and there's always more to learn. Here are some resources for further learning:

- Apple's Swift Documentation: This is your go-to resource for anything related to Swift. It's comprehensive, regularly updated, and includes plenty of examples.
- Swift Forums: This is a great place to connect with other - Swift developers, ask questions, and share your work.
- Swift Playgrounds: This is an app for iPad and Mac that makes learning Swift interactive and fun. It's a great way to practice your skills.

## Final Thoughts

Remember, becoming proficient in any programming language takes time and practice. Don't be discouraged if you encounter difficulties or challenges along the way. Keep practicing, keep building, and most importantly, keep learning.

Congratulations on completing this course, and best of luck in your future Swift programming endeavors!
Reviewing and Troubleshooting Your Weather App
Tags: swift, programming, tutorial
Published: 2023-09-01 12:03:59

In this section, we will focus on the crucial steps of reviewing and troubleshooting your weather application. This process involves testing your application, debugging common issues, reviewing your code for optimization, and ensuring your application handles different weather conditions and user locations effectively.

## Testing Your Application

Testing is a critical part of the development process. It ensures that your application works as expected and helps identify any potential issues. There are two types of testing you should perform:

- Unit Testing: This involves testing individual components of your application in isolation. For example, you might test that your weather data parsing function correctly converts JSON data into the appropriate Swift data structures.
- UI Testing: This involves testing the user interface and the user interaction flows of your application. For example, you might test that tapping a button correctly triggers a weather data fetch.

## Debugging Common Issues

Even with careful planning and coding, you're likely to encounter issues in your application. Swift provides a powerful suite of debugging tools to help you identify and resolve these issues. Here are some common issues you might encounter:

- Runtime Errors: These are errors that occur while your application is running. They can be caused by a variety of issues, such as attempting to access a non-existent element of an array.
- Logic Errors: These are errors where your code doesn't behave as expected, even though it's syntactically correct. For example, you might have a logic error if your weather data isn't correctly displayed in your user interface.

## Code Review and Optimization

Once your application is working correctly, it's a good idea to review your code. Look for areas where you can make your code more efficient, readable, or maintainable. Here are some things to consider:

- Performance: Are there parts of your code that are slow or inefficient? Can you optimize these parts to make your application run faster?
- Readability: Is your code easy to understand? Have you used clear variable and function names? Have you included comments to explain complex parts of your code?
- Maintainability: Is your code structured in a way that makes it easy to modify or extend in the future? Have you avoided duplicating code?

## Handling Different Weather Conditions and User Locations

Finally, ensure your application can handle a variety of weather conditions and user locations. Test your application with different weather data to ensure it displays correctly. Also, test your application with different user locations to ensure it correctly fetches and displays the appropriate weather data.

By following these steps, you can ensure that your weather application is robust, reliable, and ready for users to enjoy. Remember, building an application is an iterative process, and there's always room for improvement. Happy coding!