Skip to content

Instantly share code, notes, and snippets.

BandersnatchStarter Project Overview for TypeScript/JavaScript Engineers

This document provides an overview of the BandersnatchStarter project, tailored for a TypeScript or JavaScript engineer familiar with web development (e.g., Node.js, Express, React) but new to Python and Flask. The goal is to help you understand the project’s structure, technical stack, key files, and concepts, mapping them to JavaScript equivalents where possible. The project is a Flask-based web application for managing monster data, creating visualizations, and building machine learning models, organized into sprints.

Project Overview

BandersnatchStarter is a Python web app that combines data science and machine learning to work with "monster data." It involves setting up a MongoDB database, rendering interactive visualizations with Altair, and building a scikit-learn machine learning model. For a JavaScript engineer, think of it as a Node.js/Express app with MongoDB, but using Python/Flask and Python-specific libraries for da

BandersnatchStarter Project Overview

This document provides an overview of the BandersnatchStarter project, designed for someone with minimal Python experience, primarily familiar with Jupyter notebooks in a data science context. The goal is to help you understand the project’s structure, technical stack, key files, and concepts, along with pointers to resources for learning. The project is a Flask-based web application for working with monster data, creating visualizations, and building machine learning models. It’s structured as a series of sprints to guide you through the development process.

Project Overview

The BandersnatchStarter project is a data science and machine learning application focused on "monster data." It involves setting up a database, creating interactive visualizations, and building a machine learning model. The project is beginner-friendly for those with notebook experience, as it uses familiar Python libraries like pandas and scikit-learn, but introduces web development concepts

AWS RDS Instance Provisioning Guide

This guide provides step-by-step instructions to provision an Amazon RDS instance in AWS for MySQL or PostgreSQL, configure it, and prepare it for deploying applications.

Prerequisites

  • An AWS account with appropriate IAM permissions (e.g., AmazonRDSFullAccess).
  • Basic knowledge of AWS Management Console, VPC, and database concepts.
  • AWS CLI installed and configured (optional for CLI-based setup).

Step 1: Log in to AWS Management Console

Python Problem Sets for Learning Problem Solving and Software Development

Welcome to your Python problem sets! These exercises will help you build real-world coding skills used by software developers. Each problem focuses on a specific skill, like parsing logs or processing data, and is designed to be solved in about 20 minutes. You'll get a detailed explanation, starter code, and test cases to guide you. Let's get started!

Problem Set 1: Log File Parser

Why This Matters

Logs are like a diary for apps, recording what happens (e.g., errors or user actions). Developers often need to parse log files to extract useful information, like timestamps or error messages.

Your Task

Write a function parse_log_entry that parses a log entry string with the format "[TIMESTAMP] LEVEL: MESSAGE". Extract the timestamp, level, and message into a dictionary. Return None if the entry is invalid (e.g., wrong level or format).

JavaScript Problem Sets for Learning Problem Solving and Software Development

Welcome to your JavaScript problem sets! These exercises are designed to help you practice real-world coding skills that you'll use as a software developer. Each problem focuses on a specific skill, like validating user input or handling API data, and is solvable in about 20 minutes. You'll get a clear explanation, starter code, and test cases to check your work. Let's dive in and start building!

Problem Set 1: User Input Validation

Why This Matters

When users fill out forms on a website (like signing up for an account), their input can be messy—extra spaces, weird characters, or even malicious code like <script> tags. As a developer, you need to clean and validate this input to keep your app safe and functional.

Your Task

Write a function sanitizeUserInput that cleans up a user input string for a registration form. Your function should:

🚀 Application Development Prompt for AI Chat

You are a software planning and architecture expert tasked with helping a user transform their application idea into a fully planned software product with clear, actionable deliverables, including visual diagrams. Your goal is to guide the user from concept to implementation-ready tasks through a concise, focused, and high-quality conversation. Ask targeted questions to clarify:

  • App type (web, mobile, desktop, or other)
  • App concept (general idea and purpose)
  • Target personas (primary user types)
  • Tech stack (with sane defaults, customized if needed)
  • Core features (prioritized for MVP)

🚀 Application Development Prompt for AI Chat

You are a software planning and architecture expert tasked with helping a user transform their application idea into a fully planned software product with clear, actionable deliverables. Your goal is to guide the user from concept to implementation-ready tasks through a concise, focused, and high-quality conversation. Ask targeted questions to clarify:

  • App type (web, mobile, desktop, or other)
  • App concept (general idea and purpose)
  • Target personas (primary user types)
  • Tech stack (with sane defaults, customized if needed)
  • Core features (prioritized for MVP)

🚀 Application Development Prompt for AI Chat

You're an AI product development assistant. The user has an idea for an application and needs help turning it into a full software product, starting with planning and ending with a full breakdown of implementation tasks. Use this prompt to initiate a high-quality, fast-paced conversation that helps the user move from concept to concrete deliverables. Ask questions to identify:

  • App type (web/mobile/desktop)
  • App concept / general idea
  • Target personas
  • Tech stack (with sane defaults)
  • Core features

Sprint 3: Machine Learning Model Guide for Data Scientists

Overview

This guide covers the third ticket of the BandersnatchStarter project, titled "Machine Learning Model," as outlined in BandersnatchStarter/tickets/thirdTicket.md. The objective of Sprint 3 is to explore machine learning models in a Jupyter Notebook, develop a Machine class in app/machine.py using Scikit-learn to predict monster attributes (e.g., Rarity) from data generated in Sprint 1, serialize the model with joblib, and integrate it into the Flask web application. This guide is designed for someone with a beginner data science background, familiar with Python, pandas, and Jupyter Notebooks, but new to Flask and Git. You’ll learn to use Scikit-learn (like in your course), serialize models (like saving notebook outputs), and integrate predictions with Flask (like sharing results online), while managing code with Git (like notebook checkpoints

Sprint 2: Dynamic Visualizations Guide for Data Scientists

Overview

This guide covers the second ticket of the BandersnatchStarter project, titled "Dynamic Visualizations," as outlined in BandersnatchStarter/tickets/secondTicket.md. The objective of Sprint 2 is to create interactive visualizations of the monster data (generated in Sprint 1 using MonsterLab) by exploring visualizations in a Jupyter Notebook, implementing a chart() function in app/graph.py using Altair, and integrating the chart into the Flask web application. This guide is designed for someone with a beginner data science background, familiar with Python, pandas, and Jupyter Notebooks, but new to Flask and Git. You’ll learn to use Altair (like matplotlib or seaborn but for web charts), integrate visualizations with Flask (like sharing notebook plots online), and manage code with Git (like notebook checkpoints). The guide relates tasks to your