Skip to content

Instantly share code, notes, and snippets.

View karega's full-sized avatar

Karega McCoy karega

View GitHub Profile
@karega
karega / happy-hour.md
Created June 10, 2025 03:33
Happy Hour Game Idea

🎮 Happy Hour - A Twitter-Integrated Match-3 Game

Happy Hour is a social, skill-based match-3 game platform that connects directly with Twitter (X) for interactive, competitive gameplay. It blends the addictive mechanics of puzzle games with the public virality of social media—and it’s powered by a unique token-based economy.


🧩 How It Works

🧑‍🎨 1. The Host Creates a Game

@karega
karega / typeahead.js
Created June 9, 2025 19:09
React TypeAhead
// FuseTypeahead.jsx
import React, { useState, useMemo, useCallback } from 'react';
import Fuse from 'fuse.js';
import debounce from 'lodash.debounce';
// Import or define your user data (shortened here)
const users = [
{
name: "Elnora Zimmerman",
email: "elnora_zimmerman@intrawear.cbn",
@karega
karega / useDelegationService.ts
Created May 5, 2025 19:14
Delegation Service
import { useEffect } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { RootState } from '../state/store'; // adjust import path
import { useGetDelegationsQuery } from '../state/delegations-api'; // RTK Query API hook
export function useDelegations() {
const dispatch = useDispatch();
// Select delegations from state
const delegations = useSelector((state: RootState) => state.delegations?.data);
@karega
karega / delegation-service.js
Created May 5, 2025 00:40
Delegation Service
// services/vehicleService.js
import { useSelector, useDispatch } from 'react-redux';
import { setField, setVehicle } from 'state/slices/vehicleSlice';
import { vehicleApi } from 'state/api/vehicleApi';
export const useVehicleService = () => {
const dispatch = useDispatch();
const vehicle = useSelector((state) => state.vehicle);
const updateVehicle = vehicleApi.endpoints.updateVehicle.useMutation()[0];
const fetchVehicle = vehicleApi.endpoints.getVehicleById.useLazyQuery()[0];
@karega
karega / slice.js
Created May 3, 2025 18:20
Sample state slice
import { createSlice } from "@reduxjs/toolkit";
import * as R from "ramda";
import { produce } from "immer";
const initialState = {};
const vehicleSlice = createSlice({
name: "vehicle",
initialState,
reducers: {
@karega
karega / api.js
Created May 3, 2025 18:19
Sample api code
import { createApi } from "@reduxjs/toolkit/query/react";
import axios from "axios";
import { concatMap, filter, from, map, take, timer } from "rxjs";
import { questionsLoaded } from "state/questions-slice";
import { vehicleLoaded } from "state/vehicle-slice";
import { transformerService } from "app/services";
const observableQuery =
({ baseUrl } = { baseUrl: "" }) =>
async ({ url, method, data, params, headers, defilter = () => true }) => {
@karega
karega / store.js
Created May 3, 2025 18:16
Sample redux store
import { configureStore } from "@reduxjs/toolkit";
import { setupListeners } from "@reduxjs/toolkit/query";
import { persistStore, persistReducer } from "redux-persist";
import storage from "redux-persist/lib/storage";
// Import the API object
import { queryApi } from "state/query-api";
import { recordApi } from "state/record-api";
// Import state objects
@karega
karega / poll.py
Created April 29, 2025 01:53
Polling script
def poll_and_invoke():
if not QUEUE_URL:
print("Error: SQS_QUEUE_URL environment variable is not set.")
return
sqs = boto3.client('sqs', region_name=REGION)
print(f"Polling SQS queue: {QUEUE_URL} every {POLL_INTERVAL_SECONDS} seconds...")
while True:
try:
@karega
karega / scratch.txt
Created April 1, 2025 12:41
Route 53 Notes
Title: Create a new DNS record in Route 53 for a custom domain
Story Points: 3
Assignee: Unassigned
Priority: Medium
Sprint: Backlog / Current Sprint
Description:
As a DevOps engineer, I want to create a new DNS record in Route 53 so that users can access my application using a custom domain name.
@karega
karega / scratch.txt
Last active April 1, 2025 12:40
Route 53 Notes
User Story: Creating a new Route 53 DNS record
Title: As a DevOps engineer, I want to create a new DNS record in Route 53 so that users can access my application using a custom domain name.
Acceptance Criteria:
✅ A new record can be created in the specified hosted zone.
✅ The record type (e.g., A, CNAME, TXT, etc.) can be selected during creation.
✅ The record name (subdomain or root domain) can be customized.