teleren/devto huggingface dataset:
MongoDB Atlas Hackathon 2022 on DEV - Learnoh (A text based learning platform)
Tags: react, node, mongodb, atlashackathon22
Published: 2022-12-08 23:41:43

## What I built

Learnoh - A text based learning system.

### Category Submission:

Choose Your Own Adventure

### App Link

http://learnoh-client.vercel.app/

### Screenshots

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

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

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


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

### Description
 Learnoh is a text based learning system. Courses can be created by an instructor and lessons can be added using a rich text editor.

### Link to Source Code

Frontend
https://github.com/Mahmudqosim/learnoh-client

Backend
https://github.com/Mahmudqosim/learnoh-server

### Permissive License
MIT

## Background
(What made you decide to build this particular app? What inspired you?)
I have always been a lover of text based learning system, like books, blogs, articles. They give way to a better way of understanding things.

### How I built it
(How did you utilize MongoDB Atlas? Did you learn something new along the way? Pick up a new skill?)
Learnoh is built with  React as the frontend framework, MongoDB as the databases, Tailwindcss for styling, Node.js and express for the backend.

Every data on Learnoh is stored on MongoDB including images and user's data.
The image size are reduced on the client using a Canvas Image resizer component I wrote and stored on MongoDB.
All users information are managed and stored on MongoDB. Password management including password reset and forgot password are done with bcrypt and MongoDB.

I have learnt a lot during the hackathon and I acquired new knowledge about libraries like Redux Toolkit, RTK query, Tailwindcss.


### Additional Resources/Info
Rewind - MongoDB Atlas Hackathon 2022 on DEV
Tags: atlashackathon22, webdev, javascript, react
Published: 2022-12-08 23:23:42

## What I built
Rewind. Easily access and share your Twitter Bookmarks. You ever wonder about where your Twitter Bookmarks are, because you don't bother to look for them after you click that button? I have a deal for you.

### Category Submission:
Choose Your Own Adventure

### App Link
Try now at https://rewind-zeta.vercel.app/

### Screenshots
#### Landing Page
![Landing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ev35o9u5xid0rwyw9uc2.png)

#### Random Bookmark Daily
![Bookmark](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1fnv2396tew66fztlv29.png)

#### Bookmarks
![Bookmarks](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kdtd9t3exhhv1bbobdq0.png)

#### Shared Bookmarks
![Shared Bookmarks](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/flgq173apswlta3k3wq6.png)

#### Search Shared Bookmarks
![Search Shared Bookmarks](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yhwlo9y80ly0wt8zv1xv.png)


### Description
With Rewind, free now and forever, you can: 
* Get a Random bookmark for you daily from your bookmarks
* Share your Twitter bookmarks with others to help them discover new and interesting content
* Easily access your bookmarks from anywhere
* Discover new content through the bookmarks of others
* Search the shared bookmarks for others bookmarks on topics of your choosing

### Link to Source Code
The source code is available here: https://github.com/dephraiim/rewind

### Permissive License
MIT Licensed
 
## Background
Like most people, I bookmark a tweet I find interesting and leave them to collect dust. I always thought to myself I will visit them again but I never did so I decided to force myself to. 

I added some flair and features to make the app interesting. Displaying only your bookmarks is boring. I needed something to challenge myself and this was the perfect opportunity.

### How I built it
With this app, I crossed one thing that has been haunting my Todos for a really long time. OAuth 2.0 and how to authenticate user with it and the Twitter API helped me with that.

Using MongoDB, I store the new shared bookmark in an `shared` collection and fetch it when needed.

I tried MongoDB Altas Search for the first time with the search feature for the shared bookmarks and it was perfect.
The Hidden Costs of Serverless Observability
Tags: observability, lumigo, serverless, lambda
Published: 2022-12-08 23:05:57

---
title: The Hidden Costs of Serverless Observability
published: true
description: 
tags: observability, lumigo, serverless, lambda 
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1rjggvqux0gp2ps9o6dq.png
# Use a ratio of 100:42 for best results.
# published_at: 2022-12-08 23:03 +0000
---

Serverless architectures are becoming increasingly popular, which has led to an increased need for solutions to the challenges of microservice observability. Observability solutions enable fast and easy debugging of applications, as well as driving optimization and cost efficiency. However, the complexity of serverless systems presents challenges to observability, and the wrong tool set can lead to unexpected costs.

In a serverless environment, not only are developers abstracted from the underlying infrastructure that runs their code, but the distributed, event-driven nature of serverless applications makes traditional approaches to monitoring and debugging ineffective. Serverless functions are often chained through asynchronous event sources such as AWS SNS, SQS, Kinesis, or DynamoDB, making tracing extremely difficult.

The distributed nature of serverless architectures makes monitoring harder, as there isn't one central, monolithic application server anymore. Instead, developers are faced with a distributed architecture and an abundance of competing tools to conduct serverless monitoring.

Serverless observability tools are purpose built to support serverless architectures. They allow developers to reap all the benefits of serverless technology without sacrificing insights into the system, allowing them to retain opportunities to catch errors and optimize for cost and responsiveness.

Building an observability solution tailored to a serverless system requires data, and a lot of it. Logs, metrics, and traces are required to ensure the system can answer as many questions as possible about how it's working, whether you're repairing or optimizing. Each source contributes a different perspective on how your application is performing and, when analyzed together, give a complete picture of its health.

There are many different serverless observability tools available, each with its own unique features and capabilities. Choosing the right one for your needs can be a daunting task. Some popular options include IOpipe, Dashbird, and Epsagon.

Follow this [link to read more](https://lumigo.io/blog/the-hidden-costs-of-serverless-observability/)
MongoDB Atlas Hackathon 2022 - Introducing MakeIt- An eCommerce platform for customizable product
Published: 2022-12-08 22:54:08

## 🔵⚪ Introduction
Heya Folks 👋, I hope you're all doing well and staying as healthy as possible. This blog is written as a submission for the Atlas Hackathon.

## 👀 MakeIt Overview
Make-It is an E-Commerce platform for selling and buying products with customization according to buyer affections. This platform is built using the MERN stack ( MongoDB, Express, React, Node js).
With all the E-Commerce platform features, it has extra features to customize the product uniquely.

### Category Submission:
This is in the **Search No More** Category; using Atlas Search, we search products really fast through the Big Database Personally, It was really easy to implement since MongoDB has such clean documents and a Huge community for helping us out.

### 📺 Demo Video
Here is the demo video if you want to learn more about MakeIt functionalities.

{% embed https://youtu.be/CdKnOMFxMlU %}

### App Link
Our main website is hosted here [Make It](https://make-it-front.netlify.app/)
and If you are interested in some BackEnd Stuff: [You can explore Here!](https://back-end-make-it.vercel.app/api-explorer/)



### Screenshots


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

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

_  _

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

_  _


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

_ _


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

_ _

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


## ⚙️ Tech Stack used

### FrontEnd

- React
- Axios
- Redux
- Material UI
- React-cookie
- React-toastify
- Netlify ( Deploy )
- Figma ( Design )

### BackEnd

- Express
- Node.js
- Swagger
- MongoDB
- Mongoose
- Azure ( Deploy )
- Storage
- Express
- Cloudinary
- Multer
- Heroku ( Deploy )


### Link to Source Code
FrontEnd: https://github.com/WeryZebra-Yue/FrontEnd-MakeIt
BackEnd: https://github.com/WeryZebra-Yue/BackEnd-MakeIt

Also, a huge thanks to DEV and MongoDB for this opportunity!
Connect me on [LinkedIn ](https://www.linkedin.com/in/ayush-master-a5b94221b/) and [GitHub](https://github.com/WeryZebra-Yue/)! Let me know what you think of Make it in the comments section below. Peace out!
MongoDB Atlas Hackathon 2022 on DEV
Tags: atlashackathon22
Published: 2022-12-08 22:42:01

## What I built
A minimalistic To-Do List web application. 

### Category Submission:

Choose Your Own Adventure

### App Link

[To-Do List](https://github.com/marlbros/to-do-app)

### Screenshots

![Screenshot #1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dxs3dsmbxa5gvge0s7ho.jpeg)

![Screenshot #2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z13b0u9a712hjqtzxkyn.jpeg)


### Description
 We have built a minimalistic To-Do List web application which allows user to enter their daily to-do tasks where they can track and mark them as completed upon each task completion and help you stay organized and manage your day-to-day. 

### Link to Source Code

[MIT License] (https://github.com/marlbros/to-do-app/blob/main/LICENSE)
### Permissive License
MIT License

## Background

Being an engineering student, we always have to manage between academics and your hobbies. Sometimes we miss the important deadlines as we tend to forget in rush of hours. So, a simple to - do list web application helps us keep track of all the daily task and makes sure that we no daily task goes out of our mind in the day.


### How I built it

We used MongoDB to save To-Do tasks of each user separately on cloud so that task of all users doesn't get mixed, and each user can track their own task and their competition status. We got to learn about Mongo Database system and creating cluster and how efficiently we can store and access data on MongoDB Atlas and I enjoyed learning about these new features of the database.

Moreover, we had to work till late into the night because our college end semesters were going on, which was an experience in itself!
Odesey - Final Showdown
Tags: atlashackathon22
Published: 2022-12-08 22:31:20

## What I built

As part of the hackathon , I built an app which will allow the users to document their journey

### Category Submission:

Think Outside the JS Box

### App Link

[odesey-frontend.vercel.app](odesey-frontend.vercel.app)

### Screenshots

**Landing Page**

![Landing page ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ge7yos4k52e9gi9wyd6w.png)

**Login screen**

![Login screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eygju7lsaq3x940ca4fi.png)

**Validation** 


![Validation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ydh3nfogi3fk3jstkpl4.png)




**Journal listing**
![Journal listing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rsz4563rxhkgj2t4hdqv.png)

**Profile page** 


![Profile page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/odophklbhh8pdncr7wtx.png)

**Single journal page**


![Single journal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zhibnocrqt84k4ijwm0n.png)

**Deleting the journal**


![delete journal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g8o6tpsyzg5rc3vy73tx.png)


### Link to Source Code

Front End: {% github https://github.com/skarthikeyan96/odesey-frontend  %}

Back End: 

{% github https://github.com/skarthikeyan96/odesey-frontend  %}


### Permissive License: MIT 


## Background
(What made you decide to build this particular app? What inspired you?)

I mainly wanted to try out python and mongodb.

###  Did you learn something new along the way? Pick up a new skill?

1. Learned how to create API endpoints with mongodb and FastAPI.
2. Understood the JWT auth flow and built the endpoints.


## What's next

1. Allowing the user to add multimedia text in their journal
2. Encrypting the journal content.
3. Notion integration.
Mom in Tech (MongoDB Atlas Hackathon 2022 on DEV)
Tags: atlashackathon22, react, node
Published: 2022-12-08 22:30:39

## What I built
Introducing Mom in Tech. A tech community for single moms. Who are struggling to meet both ends. Read blogs and atomic essays, Chat live, Participate in events and many more. 

### Category Submission:
- Search No More (Search Blogs, Events, Jobs)
- About Real-time (Group Chat)
- Choose Your Own Adventure

### App Link
https://momintech.netlify.app/

### Screenshots

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

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

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

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

### Description
 A Tech Community for single moms, who are struggling to raise their children and make ends meet. Get inspired by the successful and motivational stories of fellow members. Acquire knowledge from articles and resources.

Post blogs, atomic essays, thoughts, and success stories here. Let your content inspire other members of this community. Attend events happening near you. Apply to job openings and many more.

Chat live in group. Start chating with fellow techies.  

### Link to Source Code
https://github.com/codewithrabeeh/mom_in_tech

### Permissive License
MIT

## Background
(What made you decide to build this particular app? What inspired you?)
I saw a tweet from a random person. It was about her life as a single parent. And she was trying hard to land a job in tech. Ofcourse, she is interested in tech. but her miserable life stops her from learning tech.
That's where this idea came from. A community for single moms to share their thriving stories, resources, jobs...etc. to become successful in tech. 


### How I built it
(How did you utilize MongoDB Atlas? Did you learn something new along the way? Pick up a new skill?)
Atlas change stream and autocomplete search are amazing features. The blogs were very helpfull to implement this. At first I thought it will be a tough nut to crack. But the articles and vlogs from mongodb team have helped me. Also the user experience of mongodb atlas is great. I learnt many thinks along with this journey.
Treating Devs Like Human Beings
Tags: devops, productivity, management, podcast
Published: 2022-12-08 22:22:20

Sometimes among all the sprints, the pressure to ship faster, tools to measure lines of code written, it seems like we as an industry forget a simple fact: developers are knowledge workers, not robots

To remind us what it means to be a human, we invited some of the most empathetic engineering leaders we know to Interact and asked them to sit on a panel together. The conversation that followed is one of the most insightful and relevant conversations we've heard all year. Whether you are an IC, manager or manager of managers, we promise this conversation will help you become a more empathetic leader and colleague. 

Today's episode of Dev Interrupted features Kelly Vaughn, Director of Engineering at Spot AI; Jean Hsu, VP of Engineering at Range; and Lena Reinhard, an engineering leadership coach. 

{% spotify spotify:episode:7hTZK9iG1Fi7WMQPzhrG6o %}

## Episode Highlights:
* (3:34) Hot take: no coding exercises in technical interviews
* (13:35) Why the panelists are so passionate about this topic
* (28:52) How to conduct a proper 1:1
* (36:44) 'BS metrics'
* (46:38) Burnout isn't the '24 hour flu'
* (53:41) Discussing burnout with your manager

***While you’re here, check out this video from our [YouTube channel](https://www.youtube.com/c/DevInterrupted?sub_confirmation=1), and be sure to like and [subscribe](https://www.youtube.com/c/DevInterrupted?sub_confirmation=1) when you do!*** 

{% youtube TOyPMD4Q_h0 %}

### Want to cut code-review time by up to 40%? Add estimated review time to pull requests automatically!
*gitStream is the free dev tool from LinearB that eliminates the No. 1 bottleneck in your team’s workflow: pull requests and code reviews. After reviewing the work of 2,000 dev teams, LinearB’s engineers and data scientists found that pickup times and code review were lasting 4 to 5 days longer than they should be.* 

*The good news is that they found these delays could be eliminated largely by adding estimated review time to pull requests!*

### Learn more about how gitStream is making coding better [HERE](https://linearb.io/blog/why-estimated-review-time-improves-pull-requests-and-reduces-cycle-time/?utm_source=Substack%2FMedium%2FDev.to&utm_medium=referral&utm_campaign=gitStream%20-%20Referral%20-%20Distribution%20Footers).

![Start using gitstream today!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xg1l6hxt134px501bf7d.png)
Advent of Code Day 8
Tags: adventofcode, elixir
Published: 2022-12-08 22:21:48

### Links

- [Intro](https://dev.to/sethcalebweeks/advent-of-code-2022-in-elixir-34i8)
- [Problem Statement](https://adventofcode.com/2022/day/8)
- [Code](https://github.com/sethcalebweeks/advent-of-code-2022/blob/main/lib/Day08.ex)

### Highlights

- Avert your eyes! This is not code that I am proud of, but it got the job done... I remember seeing some Numberphile or other YouTube video about this problem, but couldn't find it. I'm sure there is some useful math trick to make this easier. I have lots of wet and inefficient code with hard-coded values.
- The only "trick" I used here was representing the grid as a map with tuples of the positions as keys. It is cool that you can use any data type as a key in Elixir. This is the first time I have ever made use of keys that weren't strings or atoms.

```elixir
defmodule Day08 do
  use AOC

  def get_grid() do
    input(8)
    |> String.split("\n")
    |> Enum.with_index
    |> Enum.reduce(%{}, fn {row, row_num}, map ->
      row
      |> String.codepoints
      |> Enum.with_index
      |> Map.new(fn {height, col_num} -> {{row_num, col_num}, String.to_integer(height)} end)
      |> Map.merge(map)
    end)
  end


  def part1 do
    grid = get_grid()
    grid
    |> Enum.map(fn {{row_num, col_num}, height} ->
      if (row_num == 0 || row_num == 98 || col_num == 0 || col_num == 98) do
        true
      else
        Enum.any?([
          (for col_num <- 0..(col_num-1), do: Map.get(grid, {row_num, col_num}) < height) |> Enum.all?,
          (for col_num <- (col_num+1)..98, do: Map.get(grid, {row_num, col_num}) < height) |> Enum.all?,
          (for row_num <- 0..(row_num-1), do: Map.get(grid, {row_num, col_num}) < height) |> Enum.all?,
          (for row_num <- (row_num+1)..98, do: Map.get(grid, {row_num, col_num}) < height) |> Enum.all?,
        ])
      end
    end)
    |> Enum.count(&Function.identity/1)
  end

  def part2 do
    grid = get_grid()
    grid
    |> Enum.map(fn {{row_num, col_num}, height} ->
      if (row_num == 0 || row_num == 98 || col_num == 0 || col_num == 98) do
        0
      else
        [
          (for col_num <- (col_num-1)..0, do: Map.get(grid, {row_num, col_num})),
          (for col_num <- (col_num+1)..98, do: Map.get(grid, {row_num, col_num})),
          (for row_num <- (row_num-1)..0, do: Map.get(grid, {row_num, col_num})),
          (for row_num <- (row_num+1)..98, do: Map.get(grid, {row_num, col_num})),
        ]
        |> Enum.reduce(1, fn direction, product ->
          visible = direction
          |> Enum.take_while(fn tree -> tree < height end)
          |> (fn blocked -> min(length(blocked) + 1, length(direction)) end).()
          (visible) * product
        end)
      end
    end)
    |> Enum.max
  end

end
```
Avent of Code - Day 08 - Treetop Tree House
Tags: adventofcode, programming, python, algorithms
Published: 2022-12-08 22:11:54

[Advent of Code](https://adventofcode.com/) occurs at Dec 01 to 25 where each day, you will need to solve a puzzle. It is Festival and the problem statement is mostly related to Christmas.

## Day 08  - Treetop Tree House
https://adventofcode.com/2022/day/8


![image.png](https://cdn.steemitimages.com/DQmWxyH2gBuBna5wBTeJsRGzTjqnUvJrsiekLgJNwZ4U3xY/image.png)

### Q1
```python
import sys

file1 = open(sys.argv[1], "r")

data = []

while True:
        line = file1.readline().strip()
        if not line:
                break
        data.append(list(line))

# print(data)
rows = len(data)
cols = len(data[0])

ans = 0

def vis(r, c):
        global rows, cols, data
        x = data[r][c]
        rr = r - 1
        while rr >= 0 and data[rr][c] < x:
                rr -= 1
        if rr < 0:
                return True
        rr = r + 1
        while rr < rows and data[rr][c] < x:
                rr += 1
        if rr == rows:
                return True
        cc = c - 1
        while cc >= 0 and data[r][cc] < x:
                cc -= 1
        if cc < 0:
                return True
        cc = c + 1
        while cc < cols and data[r][cc] < x:
                cc += 1
        if cc == cols:
                return True
        return False

for r in range(rows):
        for c in range(cols):
                if r == 0 or c == 0 or r == rows - 1 or c == cols - 1 or vis(r, c):
                        ans += 1
```

### Q2
```python
import sys

file1 = open(sys.argv[1], "r")

data = []

while True:
        line = file1.readline().strip()
        if not line:
                break
        data.append(list(line))

# print(data)
rows = len(data)
cols = len(data[0])

ans = 0

def compute_score(r, c):
        global rows, cols, data
        x = data[r][c]
        score = 1
        rr = r - 1
        while rr >= 0 and data[rr][c] < x:
                rr -= 1
        if rr < 0:
                rr = 0
        score *= (r - rr)
        rr = r + 1
        while rr < rows and data[rr][c] < x:
                rr += 1
        if rr == rows:
                rr = rows - 1
        score *= (rr - r)
        cc = c - 1
        while cc >= 0 and data[r][cc] < x:
                cc -= 1
        if cc < 0:
                cc = 0
        score *= (c - cc)
        cc = c + 1
        while cc < cols and data[r][cc] < x:
                cc += 1
        if cc == cols:
                cc = cols - 1
        score *= (cc - c)
        return score

for r in range(rows):
        for c in range(cols):
                if not (r == 0 or c == 0 or r == rows - 1 or c == cols - 1):
                        ans = max(ans, compute_score(r, c))
```

Easy to parse input. Problem easy to understand. However, took me a while to figure out the errors in [counting](https://helloacm.com/teaching-kids-programming-reordered-power-of-two-rearranging-the-digits/) the trees!

<hr/>

### [Steem](https://steemyy.com) to the Moon!