Skip to content

Commit 8f8151b

Browse files
committed
docs:Updates my dashboard md
1 parent 0ed4d6b commit 8f8151b

File tree

1 file changed

+161
-0
lines changed

1 file changed

+161
-0
lines changed

webdevProjects/dashboard/README.md

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
# Productify - Personal Productivity Dashboard
2+
3+
A beautiful, feature-rich productivity dashboard built with vanilla HTML, CSS, and JavaScript. Designed with modern aesthetics and multiple theme options.
4+
5+
![Dashboard Preview](https://img.shields.io/badge/Status-Active-brightgreen)
6+
7+
## 🚀 Features
8+
9+
- **Task Manager** - Create, complete, and delete tasks with filtering options
10+
- **Quick Notes** - Jot down thoughts with character counting and clipboard copy
11+
- **Focus Timer** - Pomodoro-style timer with visual ring animation
12+
- **Weather Widget** - Real-time weather based on your location
13+
- **Daily Quotes** - Inspirational quotes from external API
14+
- **8 Color Themes** - Dark and light theme variants
15+
16+
## 🛠️ Technology Stack
17+
18+
| Technology | Purpose |
19+
|------------|---------|
20+
| **HTML5** | Semantic structure and accessibility |
21+
| **CSS3** | Styling, animations, CSS variables for theming |
22+
| **Vanilla JavaScript** | DOM manipulation, event handling, async APIs |
23+
| **Lucide Icons** | Modern icon library via CDN |
24+
| **Google Fonts** | Inter & JetBrains Mono typography |
25+
26+
## 📁 Project Structure
27+
28+
```
29+
dashboard/
30+
├── index.html # Main HTML structure (483 lines)
31+
├── style.css # Complete styling & themes (2084 lines)
32+
├── script.js # Application logic (787 lines)
33+
└── README.md # Documentation
34+
```
35+
36+
## 🏗️ Architecture
37+
38+
### HTML Structure
39+
```
40+
├── Login Page (#login-page)
41+
│ ├── Login Card (form, inputs)
42+
│ └── Theme Toggle Button
43+
44+
├── App Container (#app-container)
45+
│ ├── Sidebar (#sidebar)
46+
│ │ ├── Navigation Items
47+
│ │ └── User Profile
48+
│ │
49+
│ └── Main Content (.main-content)
50+
│ ├── Top Header
51+
│ └── Page Views
52+
│ ├── Dashboard View (widgets grid)
53+
│ ├── Tasks View (fullscreen)
54+
│ ├── Notes View (fullscreen)
55+
│ └── Focus Timer View (fullscreen)
56+
57+
├── Theme Modal (#theme-modal)
58+
└── Toast Notifications (#toast)
59+
```
60+
61+
### CSS Architecture
62+
- **CSS Custom Properties** for dynamic theming
63+
- **8 Theme Definitions**: Catppuccin Mocha/Latte, Tokyo Night/Light, Gruvbox Dark, Nord, Dracula, GitHub Light
64+
- **BEM-like naming** for component organization
65+
- **Flexbox & CSS Grid** for layouts
66+
- **CSS Animations** for smooth transitions
67+
68+
### JavaScript Modules
69+
70+
| Module | Description |
71+
|--------|-------------|
72+
| **DOM References** | Cached element selectors |
73+
| **Page Navigation** | View switching logic |
74+
| **Login System** | Authentication flow (demo) |
75+
| **Clock & Greeting** | Real-time updates |
76+
| **Weather API** | Async fetch with Open-Meteo |
77+
| **Quote API** | Async fetch with Quotable |
78+
| **Task Manager** | CRUD with event delegation |
79+
| **Notes** | Input handling & clipboard |
80+
| **Focus Timer** | Interval-based countdown |
81+
| **Theme Switcher** | Dynamic CSS variable updates |
82+
83+
## 🌐 External APIs
84+
85+
| API | Endpoint | Purpose |
86+
|-----|----------|---------|
87+
| **IP-API** | `ipapi.co/json` | Geolocation for weather |
88+
| **Open-Meteo** | `api.open-meteo.com` | Weather data |
89+
| **Quotable** | `api.quotable.io` | Random quotes |
90+
91+
## 🎨 Available Themes
92+
93+
### Dark Themes
94+
- Catppuccin Mocha (default)
95+
- Tokyo Night
96+
- Gruvbox Dark
97+
- Nord
98+
- Dracula
99+
100+
### Light Themes
101+
- Catppuccin Latte
102+
- Tokyo Light
103+
- GitHub Light
104+
105+
## 📚 JavaScript Concepts Demonstrated
106+
107+
Per syllabus requirements:
108+
109+
1. **DOM Basics**
110+
- `document.querySelector()` / `querySelectorAll()`
111+
- `createElement()` / `appendChild()`
112+
113+
2. **Events**
114+
- `addEventListener()` with 'click', 'keydown', 'input', 'submit'
115+
116+
3. **Event Delegation**
117+
- Single listener on `#task-list` handles all task button clicks
118+
119+
4. **Async/Await**
120+
- `fetchWeather()` - Weather API integration
121+
- `fetchQuote()` - Quote API integration
122+
123+
## 🚀 Getting Started
124+
125+
1. Clone or download the project
126+
2. Open `index.html` in any modern browser
127+
3. Login with any username/password (demo mode)
128+
4. Explore the dashboard!
129+
130+
## 📱 Responsive Design
131+
132+
- **Desktop**: Full sidebar with collapsible option
133+
- **Tablet** (≤900px): Hidden sidebar with hamburger menu
134+
- **Mobile** (≤500px): Optimized layouts and touch-friendly
135+
136+
## 🔧 Customization
137+
138+
### Adding a New Theme
139+
```css
140+
[data-theme="your-theme"] {
141+
--bg-base: #hex;
142+
--bg-surface: #hex;
143+
--text-main: #hex;
144+
--accent: #hex;
145+
/* ... other variables */
146+
}
147+
```
148+
149+
### Adding New Icons
150+
Uses [Lucide Icons](https://lucide.dev/) - add via:
151+
```html
152+
<i data-lucide="icon-name"></i>
153+
```
154+
155+
## 📄 License
156+
157+
MIT License - Feel free to use and modify!
158+
159+
---
160+
161+
Built with ❤️ using vanilla web technologies

0 commit comments

Comments
 (0)