feat: Add shared components and styling for icewatch application
All checks were successful
CI / Validate i18n Files (pull_request) Successful in 19s
Dependency Review / Review Dependencies (pull_request) Successful in 26s
CI / TypeScript Type Check (pull_request) Successful in 1m20s
CI / Lint Code (pull_request) Successful in 1m37s
CI / Build Project (pull_request) Successful in 1m32s
CI / Security Checks (pull_request) Successful in 1m35s
CI / Run Tests (Node 20) (pull_request) Successful in 1m42s
CI / Run Tests (Node 18) (pull_request) Successful in 1m49s
Code Quality / Code Quality Checks (pull_request) Successful in 1m57s
CI / Test Coverage (pull_request) Successful in 1m32s

- Created example-shared-components.html to demonstrate TypeScript-based shared header and footer components.
- Added original-style.css for theming with CSS variables and dark mode support.
- Introduced style-backup.css for legacy styles.
- Developed test-refactored.html for testing map components with Leaflet integration.
- Updated deployment documentation to reflect changes in log file paths and service names.
- Renamed project from "great-lakes-ice-report" to "icewatch" in package.json and package-lock.json.
- Updated Caddyfile for new log file path.
- Added S3 bucket policy for public read access to greatlakes-conditions.
- Removed old service file and created new systemd service for icewatch.
This commit is contained in:
Derek Slenk 2025-07-17 13:56:32 -04:00
parent d9944a6a4c
commit 96e2619aa2
16 changed files with 19 additions and 30 deletions

View file

@ -0,0 +1,13 @@
{
"permissions": {
"allow": [
"Bash(dir:*)",
"Bash(find:*)",
"Bash(mkdir:*)",
"Bash(mv:*)",
"Bash(ls:*)",
"Bash(rm:*)"
],
"deny": []
}
}

View file

@ -303,7 +303,7 @@ sudo journalctl -u caddy -f
### Log Files
- **Application logs**: `sudo journalctl -u icewatch`
- **Caddy access logs**: `/var/log/caddy/great-lakes-ice-report.log`
- **Caddy access logs**: `/var/log/caddy/icewatch.log`
- **System logs**: `/var/log/syslog`
### Database Maintenance
@ -378,7 +378,7 @@ For high-traffic deployments:
2. **Configure log rotation**:
```bash
sudo nano /etc/logrotate.d/great-lakes-ice-report
sudo nano /etc/logrotate.d/icewatch
```
3. **Monitor resource usage**:

4
package-lock.json generated
View file

@ -1,11 +1,11 @@
{
"name": "great-lakes-ice-report",
"name": "icewatch",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "great-lakes-ice-report",
"name": "icewatch",
"version": "1.0.0",
"hasInstallScript": true,
"license": "MIT",

View file

@ -1,5 +1,5 @@
{
"name": "great-lakes-ice-report",
"name": "icewatch",
"version": "1.0.0",
"description": "Great Lakes Ice Report - Community-driven winter road conditions tracker for Michigan",
"main": "dist/server.js",

View file

@ -43,7 +43,7 @@ ice.puremichigan.lol {
# Logging for monitoring
log {
output file /var/log/caddy/great-lakes-ice-report.log {
output file /var/log/caddy/icewatch.log {
roll_size 100MB
roll_keep 5
}

View file

@ -1,24 +0,0 @@
[Unit]
Description=Great Lakes Ice Report - Community Winter Conditions Tool
After=network.target
Wants=network.target
[Service]
Type=simple
User=great-lakes-ice-report
Group=great-lakes-ice-report
WorkingDirectory=/opt/great-lakes-ice-report
ExecStart=/usr/bin/node server.js
Restart=always
RestartSec=5
Environment=NODE_ENV=production
# Security settings
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/opt/great-lakes-ice-report
[Install]
WantedBy=multi-user.target