Skip to content

Instantly share code, notes, and snippets.

View craftybones's full-sized avatar

Srijayanth Sridhar craftybones

  • Bangalore, India
View GitHub Profile

🗺️ The Journeys

🚀 1. Ship a SaaS

Build complete products end-to-end

This is for you if:

  • You want to launch real apps (and maybe make money)
  • You like owning everything: UI → API → DB → deploy

Common Errors Across Projects

Categories

  1. Weak Separation of Concerns
  2. Domain Layer Leaking HTTP Concepts
  3. Missing or Improper Dependency Injection
  4. Missing Persistence or Improper Storage Design
  5. Weak or Absent Automated Testing
  6. Inconsistent API Contracts Between Frontend and Backend
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Styled Tables Showcase</title>
<style>
body {
font-family:

Dependency Injection (DI) with Functions in Deno (JavaScript Only)

We do not inject data. We inject behavior and resources (functions and streams).

✅ Inject what does the work ❌ Do NOT inject the result of the work


❌ Not Dependency Injection: Injecting Values


TODO List Manager

Extend the existing to-do application to support multiple todo lists. Users should be able to create and manage separate lists, each with its own set of todo items.

Features

  • Create a new todo list by providing a title.
  • View all existing todo lists.
  • Add a todo item to a specific list.

Playlist Manager

Overview

The Playlist Manager is a simple web-based application that allows users to create and manage playlists. Users can view all playlists, inspect individual playlists, add and remove songs, and delete playlists.

Features

1. View Playlists

Extend generatePattern with a Secondary Pattern

Instructions

Your task is to modify the generatePattern(style, dimensions, secondStyle) function to support generating two patterns side by side. The patterns will share the same dimensions and will be separated by a single space.


Key Details

Hollow Diamond Pattern

Instructions

Your task is to extend the functionality of the generatePattern(style, dimensions) function to support a new pattern type: hollow-diamond.

For this assignment, the style parameter will be "hollow-diamond", and the dimensions parameter will be an array containing a single number [size] where:

  • size specifies the width and height of the diamond (both are the same).
  • Only odd numbers are valid for size:

Assignment: Diamond Pattern

Instructions

Your task is to extend the functionality of the generatePattern(style, dimensions) function to support a new pattern type: diamond.

For this assignment, the style parameter will be "diamond", and the dimensions parameter will be an array containing a single number [size] where:

  • size specifies the width and height of the diamond (both are the same).
  • Only odd numbers are valid for size:

Right-Aligned Triangle

Instructions

Your task is to extend the functionality of the generatePattern(style, dimensions) function to support a new pattern type: right-aligned-triangle.

For this assignment, the style parameter will be "right-aligned-triangle", and the dimensions parameter will be an array containing a single number [size] where:

  • size specifies the number of rows in the triangle.
  • Each row is right-aligned, meaning that the * characters are preceded by spaces ( ) to align them to the right edge of the triangle.