An open API service indexing awesome lists of open source software.

https://github.com/imcasero/my-website

This is my perosnal website repository
https://github.com/imcasero/my-website

astro tailwindcss typescript vercel

Last synced: 2 months ago
JSON representation

This is my perosnal website repository

Awesome Lists containing this project

README

          

# ๐Ÿš€ my-website (imcasero.dev)

Personal portfolio built with **Svelte 5**, **TypeScript**, **Vite**, and **Tailwind CSS v4**.

## โœจ Features

- ๐ŸŽจ **Svelte 5 with Runes** - Using the latest Svelte 5 syntax (`$state`, `$derived`)
- ๐ŸŒ“ **Dark/Light Theme** - Persistent theme system with system preference support
- ๐Ÿ’ป **Interactive Terminal View** - Functional terminal with custom commands
- ๐Ÿ“ฑ **Responsive Design** - Adapted to all devices
- โšก **Vite** - Ultra-fast build tool
- ๐ŸŽจ **Tailwind CSS v4** - Custom theme system in OKLCH color space
- ๐Ÿงช **Complete Testing** - Vitest with 119 tests and high coverage

## ๐Ÿ› ๏ธ Tech Stack

- [Svelte 5](https://svelte.dev/) - Reactive framework
- [TypeScript](https://www.typescriptlang.org/) - Type safety
- [Vite](https://vitejs.dev/) - Build tool and dev server
- [Tailwind CSS v4](https://tailwindcss.com/) - Utility-first CSS
- [Vitest](https://vitest.dev/) - Testing framework

## ๐Ÿ“ฆ Installation

```bash
# Install dependencies
pnpm install

# Start development server
pnpm dev

# Build for production
pnpm build

# Preview build
pnpm preview
```

## ๐Ÿงช Testing

```bash
# Run tests in watch mode
pnpm test

# Run tests with visual UI
pnpm test:ui

# Run tests once
pnpm test:run

# Generate coverage report
pnpm test:coverage
```

For more information about testing, check [TESTING.md](./TESTING.md).

### ๐Ÿ“Š Test Coverage

- **119 tests** passing
- **~90% coverage** on stores
- **~94% coverage** on terminal logic
- **100% coverage** on virtual filesystem

## ๐Ÿ“ Project Structure

```
src/
โ”œโ”€โ”€ lib/
โ”‚ โ”œโ”€โ”€ components/
โ”‚ โ”‚ โ”œโ”€โ”€ shared/ # Reusable components
โ”‚ โ”‚ โ”œโ”€โ”€ StaticView/ # Static portfolio view
โ”‚ โ”‚ โ””โ”€โ”€ TerminalView/ # Interactive terminal view
โ”‚ โ”œโ”€โ”€ stores/ # State management with Svelte 5 runes
โ”‚ โ”‚ โ”œโ”€โ”€ theme.svelte.ts
โ”‚ โ”‚ โ”œโ”€โ”€ mode.svelte.ts
โ”‚ โ”‚ โ””โ”€โ”€ terminal.svelte.ts
โ”‚ โ””โ”€โ”€ terminal/ # Terminal logic
โ”‚ โ”œโ”€โ”€ commands.ts
โ”‚ โ””โ”€โ”€ filesystem.ts
โ”œโ”€โ”€ test/
โ”‚ โ””โ”€โ”€ setup.ts # Test configuration
โ”œโ”€โ”€ App.svelte
โ””โ”€โ”€ main.ts
```

## ๐ŸŽฏ Available Commands

### Development
- `pnpm dev` - Start development server
- `pnpm build` - Generate production build
- `pnpm preview` - Preview production build
- `pnpm check` - Run Svelte and TypeScript type checking

### Testing
- `pnpm test` - Tests in watch mode
- `pnpm test:ui` - Visual test interface
- `pnpm test:run` - Run all tests once
- `pnpm test:coverage` - Generate coverage report

## ๐ŸŒŸ Terminal Features

The interactive terminal includes the following commands:

- `help` or `?` - Show help
- `ls [path]` - List files and directories
- `cd ` - Change directory
- `pwd` - Show current directory
- `cat ` - Display file contents
- `sh ` - Execute scripts
- `clear` - Clear screen
- `whoami` - User information
- `history` - Command history
- `banner` - Welcome banner

### Navigation
- `โ†‘` / `โ†“` - Navigate through command history
- `cd ..` - Go up one level
- `./script.sh` - Execute scripts directly

## ๐ŸŽจ Theme System

The project implements a theme system with:

- **Persistence** in localStorage
- **Synchronization** with system preferences
- **CSS Variables** in OKLCH color space
- **Separate themes** for UI and terminal

## ๐Ÿ“„ License

This is a personal project without a specific license.

## ๐Ÿ‘ค Author

**Diego Casero** (@imcasero)

- Portfolio: [imcasero.dev](https://imcasero.dev)
- GitHub: [@imcasero](https://github.com/imcasero)

---

โญ If you like this project, feel free to give it a star!