Skip to content

Commit 95ab1d0

Browse files
committed
Updated documentation
1 parent 12d18fe commit 95ab1d0

5 files changed

Lines changed: 1853 additions & 2 deletions

File tree

docs/getting-started/first-run.md

Lines changed: 377 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,377 @@
1+
# First Run Guide
2+
3+
Congratulations on successfully installing Metis! This guide will walk you through your first run experience and help you get familiar with the template's features.
4+
5+
## Initial Setup
6+
7+
### Step 1: Launch the Template
8+
9+
After completing the installation, launch Metis using your preferred method:
10+
11+
**Option A: Using Local Web Server**
12+
```bash
13+
cd metis-bootstrap-5/src-modern
14+
python -m http.server 8000
15+
```
16+
17+
**Option B: Using Development Server**
18+
```bash
19+
cd metis-bootstrap-5/src-modern
20+
npm run dev
21+
```
22+
23+
Navigate to `http://localhost:8000` (or your configured port) in your browser.
24+
25+
### Step 2: First Load
26+
27+
When you first load Metis, you'll see:
28+
29+
1. **Loading Screen**: Brief initialization
30+
2. **Dashboard**: Main admin interface
31+
3. **Welcome Tour**: Optional guided tour (can be dismissed)
32+
33+
## Dashboard Overview
34+
35+
### Main Components
36+
37+
#### 1. Header Navigation
38+
- **Logo**: Metis branding (customizable)
39+
- **Search Bar**: Global search functionality
40+
- **User Menu**: Profile, settings, logout
41+
- **Notifications**: System alerts and messages
42+
- **Theme Toggle**: Dark/light mode switch
43+
44+
#### 2. Sidebar Navigation
45+
- **Dashboard**: Main overview page
46+
- **Analytics**: Data visualization
47+
- **Users**: User management
48+
- **Products**: Product catalog
49+
- **Orders**: Order management
50+
- **Elements**: UI components showcase
51+
52+
#### 3. Main Content Area
53+
- **Statistics Cards**: Key metrics at a glance
54+
- **Charts**: Interactive data visualization
55+
- **Recent Activity**: Latest system activities
56+
- **Quick Actions**: Common tasks
57+
58+
## Essential Features Tour
59+
60+
### 1. Theme Switching
61+
62+
Test the theme functionality:
63+
64+
```javascript
65+
// Toggle theme manually
66+
document.querySelector('[data-theme-toggle]').click();
67+
68+
// Or programmatically
69+
window.themeManager.setTheme('dark');
70+
window.themeManager.setTheme('light');
71+
```
72+
73+
**What to expect:**
74+
- Smooth transition between themes
75+
- Persistent theme preference
76+
- All components adapt to the selected theme
77+
78+
### 2. Responsive Design
79+
80+
Test responsiveness:
81+
82+
1. **Desktop (1920px+)**: Full sidebar, expanded layout
83+
2. **Tablet (768px-1919px)**: Collapsible sidebar
84+
3. **Mobile (320px-767px)**: Overlay sidebar, stacked layout
85+
86+
**Key breakpoints:**
87+
- `1200px`: Large desktop
88+
- `992px`: Desktop
89+
- `768px`: Tablet
90+
- `576px`: Mobile
91+
92+
### 3. Navigation Testing
93+
94+
Navigate through different sections:
95+
96+
1. **Dashboard** → Overview and statistics
97+
2. **Analytics** → Charts and data visualization
98+
3. **Users** → User management interface
99+
4. **Products** → Product catalog
100+
5. **Orders** → Order management
101+
6. **Elements** → UI components showcase
102+
103+
### 4. Interactive Components
104+
105+
Test key interactive elements:
106+
107+
#### Buttons
108+
- **Primary Actions**: Main CTA buttons
109+
- **Secondary Actions**: Supporting actions
110+
- **Loading States**: Progress indicators
111+
112+
#### Forms
113+
- **Input Validation**: Real-time feedback
114+
- **File Upload**: Drag-and-drop functionality
115+
- **Date Pickers**: Calendar integration
116+
117+
#### Modals and Alerts
118+
- **Confirmation Dialogs**: User actions
119+
- **Success Messages**: Operation feedback
120+
- **Error Handling**: Graceful error display
121+
122+
## Configuration Check
123+
124+
### 1. Browser Console
125+
126+
Open Developer Tools (F12) and check:
127+
128+
```javascript
129+
// Verify core libraries are loaded
130+
console.log('Bootstrap:', typeof bootstrap !== 'undefined');
131+
console.log('Alpine.js:', typeof Alpine !== 'undefined');
132+
console.log('Chart.js:', typeof Chart !== 'undefined');
133+
134+
// Check theme system
135+
console.log('Theme Manager:', typeof window.themeManager !== 'undefined');
136+
console.log('Current Theme:', localStorage.getItem('theme') || 'light');
137+
```
138+
139+
**Expected output:**
140+
```
141+
Bootstrap: true
142+
Alpine.js: true
143+
Chart.js: true
144+
Theme Manager: true
145+
Current Theme: light
146+
```
147+
148+
### 2. Network Tab
149+
150+
Verify all resources load successfully:
151+
152+
-**CSS Files**: Bootstrap, custom styles
153+
-**JavaScript Files**: Alpine.js, Chart.js, custom scripts
154+
-**Images**: Logo, icons, placeholders
155+
-**Fonts**: Google Fonts, icon fonts
156+
157+
**No 404 errors should appear.**
158+
159+
### 3. Performance Check
160+
161+
Basic performance verification:
162+
163+
```javascript
164+
// Check page load time
165+
console.log('Page Load Time:', performance.now() + 'ms');
166+
167+
// Check memory usage (approximate)
168+
console.log('JavaScript Heap:', (performance.memory?.usedJSHeapSize / 1024 / 1024).toFixed(2) + 'MB');
169+
```
170+
171+
## User Experience Testing
172+
173+
### 1. Accessibility Check
174+
175+
Test keyboard navigation:
176+
177+
1. **Tab Navigation**: Should flow logically
178+
2. **Focus Indicators**: Clear visual feedback
179+
3. **Screen Reader**: Test with screen reader if available
180+
4. **High Contrast**: Test with system high contrast mode
181+
182+
### 2. Mobile Experience
183+
184+
Test on mobile devices or using browser dev tools:
185+
186+
1. **Touch Interactions**: Buttons, swipes, scrolling
187+
2. **Viewport Scaling**: Proper zoom behavior
188+
3. **Performance**: Smooth animations and transitions
189+
4. **Offline Support**: Basic functionality without internet
190+
191+
### 3. User Workflow
192+
193+
Complete a typical user workflow:
194+
195+
1. **Login** (if authentication is implemented)
196+
2. **Navigate** to different sections
197+
3. **View Data** in charts and tables
198+
4. **Interact** with forms and components
199+
5. **Change Settings** (theme, preferences)
200+
6. **Logout** (if authentication is implemented)
201+
202+
## Common First-Run Issues
203+
204+
### Issue 1: Blank Page
205+
**Symptoms:** White screen, no content
206+
**Solutions:**
207+
```bash
208+
# Check web server is running
209+
curl http://localhost:8000
210+
211+
# Verify file paths
212+
ls -la index.html
213+
ls -la styles/
214+
ls -la scripts/
215+
```
216+
217+
### Issue 2: Missing Styles
218+
**Symptoms:** Unstyled content, broken layout
219+
**Solutions:**
220+
```html
221+
<!-- Verify CSS links in HTML -->
222+
<link href="styles/scss/main.scss" rel="stylesheet">
223+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/css/bootstrap.min.css" rel="stylesheet">
224+
```
225+
226+
### Issue 3: JavaScript Errors
227+
**Symptoms:** Non-functional components, console errors
228+
**Solutions:**
229+
```javascript
230+
// Check script loading order
231+
// Bootstrap should load before Alpine.js
232+
// Alpine.js should load before custom scripts
233+
```
234+
235+
### Issue 4: Theme Not Working
236+
**Symptoms:** Theme toggle doesn't work
237+
**Solutions:**
238+
```javascript
239+
// Verify theme manager initialization
240+
if (typeof window.themeManager === 'undefined') {
241+
console.error('Theme manager not loaded');
242+
}
243+
244+
// Check localStorage permissions
245+
try {
246+
localStorage.setItem('test', 'test');
247+
localStorage.removeItem('test');
248+
} catch (e) {
249+
console.error('LocalStorage not available');
250+
}
251+
```
252+
253+
## Customization Quick Start
254+
255+
### 1. Basic Branding
256+
257+
Update the logo and colors:
258+
259+
```scss
260+
// styles/scss/abstracts/_variables.scss
261+
$primary: #your-color;
262+
$secondary: #your-secondary-color;
263+
```
264+
265+
```html
266+
<!-- Update logo in header -->
267+
<img src="assets/images/your-logo.svg" alt="Your Brand">
268+
```
269+
270+
### 2. Content Updates
271+
272+
Modify the dashboard content:
273+
274+
```html
275+
<!-- index.html -->
276+
<div class="stats-card">
277+
<h3>Your Metric</h3>
278+
<span class="value">Your Value</span>
279+
</div>
280+
```
281+
282+
### 3. Navigation Customization
283+
284+
Update sidebar navigation:
285+
286+
```html
287+
<!-- Sidebar navigation -->
288+
<nav class="sidebar-nav">
289+
<a href="your-page.html" class="nav-link">
290+
<i class="bi bi-your-icon"></i>
291+
<span>Your Page</span>
292+
</a>
293+
</nav>
294+
```
295+
296+
## Performance Optimization
297+
298+
### 1. Image Optimization
299+
300+
Optimize images for better performance:
301+
302+
```bash
303+
# Compress images
304+
npx imagemin src/assets/images/* --out-dir=dist/assets/images/
305+
```
306+
307+
### 2. CSS Optimization
308+
309+
If using SCSS:
310+
311+
```scss
312+
// Only import needed Bootstrap components
313+
@import "bootstrap/scss/functions";
314+
@import "bootstrap/scss/variables";
315+
@import "bootstrap/scss/mixins";
316+
@import "bootstrap/scss/utilities";
317+
```
318+
319+
### 3. JavaScript Optimization
320+
321+
Remove unused features:
322+
323+
```javascript
324+
// Remove unused chart types
325+
import { Chart, CategoryScale, LinearScale, BarElement } from 'chart.js';
326+
Chart.register(CategoryScale, LinearScale, BarElement);
327+
```
328+
329+
## Next Steps
330+
331+
After completing your first run:
332+
333+
### Immediate Actions
334+
1. **[Template Structure](../overview/structure.md)** - Understand the codebase
335+
2. **[Customization Guide](../customization/branding.md)** - Make it your own
336+
3. **[Development Setup](../development/local.md)** - Advanced development
337+
338+
### Long-term Planning
339+
1. **[Architecture Overview](../overview/architecture.md)** - Technical deep dive
340+
2. **[Component Library](../components/overview.md)** - Available components
341+
3. **[Integration Guide](../integration/apis.md)** - Connect your backend
342+
343+
## Getting Help
344+
345+
If you encounter issues during your first run:
346+
347+
### Documentation
348+
- **[Troubleshooting](../troubleshooting/common-issues.md)** - Common problems and solutions
349+
- **[FAQ](../troubleshooting/faq.md)** - Frequently asked questions
350+
- **[Browser Support](../overview/browser-support.md)** - Compatibility information
351+
352+
### Community Support
353+
- **GitHub Issues** - Report bugs and feature requests
354+
- **Stack Overflow** - Community-driven Q&A
355+
- **Bootstrap Documentation** - Official Bootstrap 5 docs
356+
357+
### Professional Support
358+
- **Custom Development** - Tailored solutions
359+
- **Priority Support** - Fast response times
360+
- **Training** - Team training sessions
361+
362+
## Verification Checklist
363+
364+
Before proceeding to customization:
365+
366+
- [ ] Template loads without errors
367+
- [ ] All navigation links work
368+
- [ ] Theme switching functions properly
369+
- [ ] Responsive design works on all devices
370+
- [ ] JavaScript components are interactive
371+
- [ ] Performance is acceptable
372+
- [ ] No console errors
373+
- [ ] All resources load successfully
374+
375+
---
376+
377+
**First run complete!** You're now ready to start customizing Metis for your specific needs. Continue to [Template Structure](../overview/structure.md) to understand how the template is organized.

0 commit comments

Comments
 (0)