Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions .idea/encodings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/indexLayout.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

102 changes: 89 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,102 @@
# UnitConverter
<<<<<<< HEAD
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CRITICAL: Merge conflict markers present

Resolve the merge conflict by removing the conflict markers and choosing the appropriate content. The current README contains unresolved merge markers from <<<<<<< to >>>>>>>.

=======
Unit converter project with my husband
Accepted the invite to the repo
>>>>>>> 50dec1136999fdd85762875f23d9b9ad0809ce4b

## Description
A web-based unit converter built with Python and Streamlit. Converts between various units in temperature, length, volume, and weight categories.
A web-based unit converter built with Python and Streamlit. Converts between various units in temperature, length, volume, and weight categories with an intuitive interface and real-time calculations.
Second test in the code reviewrs
Testing


## Features
- Temperature conversions: Celsius ↔ Fahrenheit, Celsius ↔ Kelvin
- Length conversions: Kilometers ↔ Miles, Kilometers → Yards, Meters → Feet
- Volume conversions: Milliliters → Ounces, Liters → Gallons
- Weight conversions: Grams → Ounces, Kilograms → Pounds
- Clean UI with custom color scheme (Tea & Romance palette)

## Setup and Run
1. Install dependencies:
```

### 🌡️ Temperature Conversions
- **Bidirectional temperature scale conversion**
- Celsius ↔ Fahrenheit: Convert between the most common temperature scales
- Celsius ↔ Kelvin: Convert to/from the scientific temperature scale
- Fahrenheit ↔ Kelvin: Direct conversion between imperial and scientific scales
- **Mathematical accuracy**: Uses precise conversion formulas
- Fahrenheit = (Celsius × 9/5) + 32
- Kelvin = Celsius + 273.15
- Celsius = (Fahrenheit - 32) × 5/9
- **Real-world applications**: Cooking, weather, scientific experiments

### 📏 Length & Distance Conversions
- **Metric to Imperial conversions**
- Kilometers ↔ Miles: For travel and distance measurements
- Meters → Feet: For construction and height measurements
- Kilometers → Yards: For sports and field measurements
- **Precision conversion factors**:
- 1 kilometer = 0.621371 miles
- 1 kilometer = 1093.61 yards
- 1 meter = 3.28084 feet
- **Use cases**: Travel planning, construction projects, athletic track measurements

### 🧪 Volume Conversions
- **Liquid measurement conversions**
- Milliliters → Ounces: For cooking and beverage measurements
- Liters → Gallons: For fuel and large container measurements
- **Accurate conversion factors**:
- 1 milliliter = 0.033814 US fluid ounces
- 1 liter = 0.264172 US gallons
- **Applications**: Recipe scaling, fuel consumption, liquid storage calculations

### ⚖️ Weight & Mass Conversions
- **Weight unit conversions**
- Grams → Ounces: For cooking ingredients and small items
- Kilograms → Pounds: For body weight and package measurements
- **Precise conversion factors**:
- 1 gram = 0.035274 ounces
- 1 kilogram = 2.20462 pounds
- **Common uses**: Fitness tracking, shipping calculations, cooking measurements

### 💻 User Interface & Experience
- **Intuitive design**: Clean, modern interface with easy-to-use dropdown selections
- **Real-time conversion**: Instant results as you type
- **Visual appeal**: Custom Tea & Romance color palette for a pleasant user experience
- **Responsive layout**: Works seamlessly across desktop, tablet, and mobile devices
- **Input validation**: Prevents errors with smart input checking and helpful error messages
- **Category organization**: Logical grouping of conversion types for quick access

### 🚀 Technical Features
- **Built with Streamlit**: Leverages Python's powerful web framework for rapid development
- **High accuracy**: Uses precise mathematical formulas for all conversions
- **Cross-platform compatibility**: Runs on any system with Python support
- **Fast performance**: Lightweight design for quick loading and responsive interactions

## Quick Start Guide

### Prerequisites
- Python 3.7 or higher
- pip package manager

### Installation & Setup
1. **Install dependencies**:
```bash
pip install -r requirements.txt
```

2. Run the app:
```
2. **Launch the application**:
```bash
streamlit run app.py
```

3. Open your browser to the URL provided by Streamlit (usually http://localhost:8501)
3. **Access the converter**:
- Open your web browser
- Navigate to the provided URL (typically http://localhost:8501)
- Start converting units immediately!

### Usage Examples
- **Cooking**: Convert 250ml of milk to ounces for recipe adjustments
- **Travel**: Convert 100km/h speed limits to mph when driving abroad
- **Fitness**: Track your weight loss progress by converting between kg and lbs
- **Science**: Convert temperature readings between Celsius and Kelvin for experiments

## Contributing
This project was created as a collaborative effort and welcomes contributions for additional conversion types, UI improvements, and feature enhancements.

## License
Open source - feel free to use, modify, and distribute as needed.
Binary file added TimezoneDisplay/TimezoneDisplay.class
Binary file not shown.
25 changes: 25 additions & 0 deletions TimezoneDisplay/TimezoneDisplay.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class TimezoneDisplay {
public static void main(String[] args) {
try {
// Retrieve and display the current system timezone
ZoneId systemZone = ZoneId.systemDefault();
System.out.println("Current system timezone: " + systemZone);

// List of timezones to display
String[] timezones = {"UTC", "America/New_York", "America/Los_Angeles", "GMT", "Asia/Kolkata", "Asia/Tokyo"};

// Display current time and date for each timezone
for (String tz : timezones) {
ZoneId zoneId = ZoneId.of(tz);
ZonedDateTime now = ZonedDateTime.now(zoneId);
System.out.println("Current time in " + tz + ": " + now);
}
} catch (Exception e) {
// Handle any exceptions gracefully
System.out.println("An error occurred: " + e.getMessage());
}
}
}
1 change: 1 addition & 0 deletions UnitConverter
Submodule UnitConverter added at 50dec1
Binary file added __pycache__/app.cpython-313.pyc
Binary file not shown.
41 changes: 41 additions & 0 deletions abigail-cat-website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
75 changes: 75 additions & 0 deletions abigail-cat-website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Abigail's Cat Website 🐱

A beautiful, interactive website dedicated to Abigail, the most adorable cat! This Next.js application showcases Abigail's photos with a charming pink-themed design and smooth animations.

## Features

- **Interactive Photo Gallery**: Drag and drop photos of Abigail directly into the browser
- **Beautiful Animations**: Smooth entrance animations powered by Framer Motion
- **Responsive Design**: Works perfectly on desktop and mobile devices
- **Custom Styling**: Pink gradient background with elegant typography using Dancing Script font
- **Modern Tech Stack**: Built with Next.js 16, TypeScript, and Tailwind CSS

## Technologies Used

- **Framework**: [Next.js 16](https://nextjs.org) with App Router
- **Language**: TypeScript
- **Styling**: [Tailwind CSS](https://tailwindcss.com) with custom CSS variables
- **Animations**: [Framer Motion](https://www.framer-motion.com) for smooth transitions
- **File Upload**: [React Dropzone](https://react-dropzone.js.org) for drag-and-drop functionality
- **Fonts**: [Dancing Script](https://fonts.google.com/specimen/Dancing+Script) for elegant headings

## Getting Started

First, install the dependencies:

```bash
npm install
```

Then, run the development server:

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see Abigail's website.

## Project Structure

```
abigail-cat-website/
├── app/
│ ├── layout.tsx # Root layout with fonts and metadata
│ ├── page.tsx # Main page (currently default Next.js)
│ └── globals.css # Global styles with pink theme
├── components/
│ ├── Header.tsx # Animated header with Abigail's name
│ └── PhotoSection.tsx # Drag-and-drop photo upload component
└── public/ # Static assets
```

## Key Components

### Header Component
- Displays "Abigail - The Most Adorable Cat" with elegant typography
- Animated entrance with Framer Motion

### Photo Section Component
- Drag and drop area for uploading cat photos
- Supports multiple image formats (JPEG, PNG, GIF)
- Grid layout for displaying uploaded photos
- Hover effects and smooth animations

## Customization

The website uses CSS custom properties for easy theming:
- `--background`: Pink gradient background
- `--foreground`: Text color
- `--accent`: Accent color for interactive elements

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
Binary file added abigail-cat-website/app/favicon.ico
Binary file not shown.
36 changes: 36 additions & 0 deletions abigail-cat-website/app/globals.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
@import "tailwindcss";

:root {
--background: #FFB6C1;
--foreground: #171717;
--accent: #FF69B4;
}

@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-accent: var(--accent);
--font-sans: var(--font-geist-sans);
--font-mono: var(--font-geist-mono);
--font-dancing: var(--font-dancing-script);
}

body {
background: linear-gradient(135deg, #FFB6C1 0%, #FF69B4 100%);
color: var(--foreground);
font-family: var(--font-sans), Arial, Helvetica, sans-serif;
min-height: 100vh;
position: relative;
}

body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23FF69B4' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
pointer-events: none;
z-index: -1;
}
40 changes: 40 additions & 0 deletions abigail-cat-website/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import type { Metadata } from "next";
import { Geist, Geist_Mono, Dancing_Script } from "next/font/google";
import "./globals.css";

const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
});

const geistMono = Geist_Mono({
variable: "--font-geist-mono",
subsets: ["latin"],
});

const dancingScript = Dancing_Script({
variable: "--font-dancing-script",
subsets: ["latin"],
weight: "400",
});

export const metadata: Metadata = {
title: "Abigail the Cat",
description: "A website dedicated to Abigail, the adorable cat",
};

export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body
className={`${geistSans.variable} ${geistMono.variable} ${dancingScript.variable} antialiased`}
>
{children}
</body>
</html>
);
}
Loading