git-history-ui 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.dockerignore ADDED
@@ -0,0 +1,19 @@
1
+ node_modules
2
+ npm-debug.log
3
+ .git
4
+ .gitignore
5
+ README.md
6
+ .env
7
+ .nyc_output
8
+ coverage
9
+ .nyc_output
10
+ .coverage
11
+ .cache
12
+ dist
13
+ frontend/dist
14
+ frontend/node_modules
15
+ src/__tests__
16
+ *.log
17
+ .DS_Store
18
+ .vscode
19
+ .idea
package/Dockerfile ADDED
@@ -0,0 +1,29 @@
1
+ # Use Node.js 18 Alpine for smaller image size
2
+ FROM node:18-alpine
3
+
4
+ # Set working directory
5
+ WORKDIR /app
6
+
7
+ # Copy package files
8
+ COPY package*.json ./
9
+ COPY frontend/package*.json ./frontend/
10
+
11
+ # Install dependencies
12
+ RUN npm ci --only=production && \
13
+ cd frontend && npm ci --only=production && cd ..
14
+
15
+ # Copy source code
16
+ COPY . .
17
+
18
+ # Build the application
19
+ RUN npm run build:production
20
+
21
+ # Expose port
22
+ EXPOSE 3000
23
+
24
+ # Set environment variables
25
+ ENV NODE_ENV=production
26
+ ENV PORT=3000
27
+
28
+ # Start the application
29
+ CMD ["npm", "run", "start:production"]
package/README.md CHANGED
@@ -1,57 +1,26 @@
1
1
  # Git History UI
2
2
 
3
- [![npm version](https://badge.fury.io/js/git-history-ui.svg)](https://badge.fury.io/js/git-history-ui)
4
- [![npm downloads](https://img.shields.io/npm/dm/git-history-ui.svg)](https://www.npmjs.com/package/git-history-ui)
5
- [![npm license](https://img.shields.io/npm/l/git-history-ui.svg)](https://www.npmjs.com/package/git-history-ui)
6
- [![Node.js version](https://img.shields.io/node/v/git-history-ui.svg)](https://www.npmjs.com/package/git-history-ui)
7
- [![GitHub stars](https://img.shields.io/github/stars/ankit-sharma/git-history-ui.svg)](https://github.com/ankit-sharma/git-history-ui)
8
- [![GitHub issues](https://img.shields.io/github/issues/ankit-sharma/git-history-ui.svg)](https://github.com/ankit-sharma/git-history-ui/issues)
9
-
10
3
  A beautiful, modern web UI for visualizing git history with interactive commit graphs, search, filtering, and diff visualization. Built with Angular and Node.js.
11
4
 
12
- **Author:** Ankit Sharma (ankit.sharma199803@gmail.com)
13
-
14
- ## 📋 Requirements
15
-
16
- - **Node.js**: 18.0.0 or higher
17
- - **Angular**: 20.2.1
18
- - **Git**: Any version (must be in a git repository)
19
-
20
- ## ✨ Features
21
-
22
- - **🎨 Interactive Commit Graph** - Beautiful D3.js-powered visualizations with branch tracking and merge detection
23
- - **🔍 Advanced Search & Filtering** - Search by author, date range, commit message, or specific files
24
- - **📊 Dual View Modes** - Switch between graph view and list view
25
- - **🎨 Color Palette System** - Choose from 6 light and 6 dark themes
26
- - **🌙 Dark/Light Mode** - Toggle between themes with persistent preferences
27
- - **📱 Responsive Design** - Works on desktop and mobile devices
28
- - **⚡ Real-time Search** - Live filtering and search results
29
- - **🔧 Modern Tech Stack** - Angular 20 frontend with Node.js backend
30
-
31
- ## 🚀 Quick Start (1 Step!)
5
+ ## 🚀 Quick Start
32
6
 
33
- ### Prerequisites
34
- - **Node.js 18.0.0+** - [Download here](https://nodejs.org/)
35
- - **Git repository** - Must be in a git repository
36
-
37
- ### Step 1: Run the Application
38
7
  ```bash
39
8
  # Run directly with npx (no installation needed)
40
9
  npx git-history-ui
41
10
  ```
42
11
 
43
- That's it! 🎉 The application will automatically:
44
- - Start the backend server on port 3000
45
- - Start the frontend server on port 4200
46
- - Open your browser to `http://localhost:4200`
12
+ That's it! The application will start on `http://localhost:3000` and open your browser automatically.
47
13
 
48
- ## 📖 Usage Examples
14
+ ## Features
49
15
 
50
- ### Basic Usage
51
- ```bash
52
- # Run directly with npx (no installation needed)
53
- npx git-history-ui
54
- ```
16
+ - **🎨 Interactive Commit Graph** - D3.js-powered visualizations with branch tracking
17
+ - **🔍 Advanced Search & Filtering** - Search by author, date, commit message, or files
18
+ - **📊 Dual View Modes** - Switch between graph view and list view
19
+ - **🎨 Color Palette System** - 6 light and 6 dark themes
20
+ - **🌙 Dark/Light Mode** - Toggle between themes
21
+ - **📱 Responsive Design** - Works on desktop and mobile
22
+
23
+ ## 📖 Usage
55
24
 
56
25
  ### CLI Options
57
26
  ```bash
@@ -74,231 +43,63 @@ npx git-history-ui --no-open
74
43
  npx git-history-ui --help
75
44
  ```
76
45
 
77
- ### Advanced Usage
78
- ```bash
79
- # Use in specific directory
80
- cd /path/to/your/repo
81
- npx git-history-ui
82
-
83
- # Use with environment variables
84
- PORT=8080 npx git-history-ui
85
-
86
- # Use with different host
87
- HOST=0.0.0.0 npx git-history-ui
88
- ```
89
-
90
- ## 🎯 Key Features Explained
91
-
92
- ### 📊 Graph View
93
- - **Interactive Commit Graph**: Click any commit node to view details
94
- - **Branch Visualization**: Different colors for different branches
95
- - **Merge Detection**: Purple nodes indicate merge commits
96
- - **Force-Directed Layout**: Automatic positioning for optimal viewing
97
-
98
- ### 📋 List View
99
- - **Organized Commit List**: Clean, readable commit information
100
- - **File Change Summary**: See how many files were changed
101
- - **Author & Date Info**: Quick access to commit metadata
102
- - **Search Integration**: Real-time filtering as you type
103
-
104
- ### 🔍 Search & Filtering
105
- - **Real-time Search**: Search across commit messages, authors, and hashes
106
- - **Date Range Filter**: Use the date picker to filter by specific dates
107
- - **Author Filter**: Dropdown to filter by specific authors
108
- - **File Filter**: Search for commits that touched specific files
109
-
110
- ### 🎨 Theme System
111
- - **6 Light Themes**: Default, Ocean, Forest, Sunset, Monochrome, Neon
112
- - **6 Dark Themes**: Matching dark versions of all themes
113
- - **Persistent Preferences**: Your theme choice is saved automatically
114
- - **Dark Mode Toggle**: Quick switch between light and dark modes
115
-
116
- ## 🛠️ Development Setup
117
-
118
- ### Prerequisites
119
- - **Node.js 18.0.0+** - [Download here](https://nodejs.org/)
120
- - **Git repository** - Must be in a git repository
121
-
122
- ### Project Structure
123
- ```
124
- git-history-ui/
125
- ├── frontend/ # Angular 20 application
126
- │ ├── src/app/
127
- │ │ ├── components/ # UI components
128
- │ │ │ ├── commit-graph/ # D3.js graph visualization
129
- │ │ │ ├── commit-list/ # List view component
130
- │ │ │ ├── commit-detail/ # Commit details modal
131
- │ │ │ └── color-palette-selector/ # Theme selector
132
- │ │ ├── services/ # Angular services
133
- │ │ └── models/ # TypeScript interfaces
134
- │ └── angular.json # Angular configuration
135
- ├── src/backend/ # Node.js backend
136
- │ ├── server.ts # Express server
137
- │ └── gitService.ts # Git operations
138
- ├── package.json # Dependencies and scripts
139
- └── README.md # This file
140
- ```
141
-
142
- ## 🎯 Use Cases & Examples
143
-
144
- ### Code Review Workflow
145
- ```bash
146
- # 1. Start the application
147
- npx git-history-ui
148
-
149
- # 2. Open http://localhost:4200
150
-
151
- # 3. Use the search bar to find specific commits
152
- # Example: Search for "bug fix" or "feature"
153
-
154
- # 4. Filter by date to review recent changes
155
- # Use the date picker to select "Last week"
156
-
157
- # 5. Switch to graph view to see branch structure
158
- # Click "Graph View" button
159
-
160
- # 6. Click any commit to see detailed changes
161
- # View file diffs and commit information
162
- ```
163
-
164
- ### Release Planning
165
- ```bash
166
- # 1. Filter commits since last release
167
- # Use date picker to select release date
168
-
169
- # 2. Review all changes in list view
170
- # See commit messages and file changes
46
+ ## 🏭 Production
171
47
 
172
- # 3. Switch to graph view for branch overview
173
- # Identify feature branches and merges
174
-
175
- # 4. Copy commit information for release notes
176
- # Manually copy relevant commit details
177
- ```
178
-
179
- ### Bug Investigation
48
+ ### Build for Production
180
49
  ```bash
181
- # 1. Search for specific file changes
182
- # Use file filter: "src/app.js"
183
-
184
- # 2. Filter by author if you know who made changes
185
- # Select author from dropdown
186
-
187
- # 3. Use date range to narrow down timeframe
188
- # Select date range around when bug appeared
50
+ # Build both backend and frontend
51
+ npm run build:production
189
52
 
190
- # 4. Review commit details and diffs
191
- # Click commits to see exact changes made
53
+ # Start production server
54
+ npm run start:production
192
55
  ```
193
56
 
194
- ## 🔧 Configuration & Customization
195
-
196
- ### Environment Variables
57
+ ### Docker
197
58
  ```bash
198
- # Custom port for backend (default: 3000)
199
- PORT=8080 npm run dev
200
-
201
- # Custom host (default: localhost)
202
- HOST=0.0.0.0 npm run dev
59
+ # Build and run with Docker
60
+ docker build -t git-history-ui .
61
+ docker run -p 3000:3000 git-history-ui
203
62
  ```
204
63
 
205
- ### Theme Customization
206
- - **Light Themes**: Default, Ocean, Forest, Sunset, Monochrome, Neon
207
- - **Dark Themes**: Matching dark versions of all themes
208
- - **Auto-save**: Your theme preference is automatically saved
209
- - **System Integration**: Respects system dark mode preference
210
-
211
- ### Browser Compatibility
212
- - **Chrome/Edge**: Full support with all features
213
- - **Firefox**: Full support with all features
214
- - **Safari**: Full support with all features
215
- - **Mobile**: Basic responsive design support
64
+ ## 🛠️ Development
216
65
 
217
- ## 🚀 Development Setup
218
-
219
- ### For Contributors
66
+ ### Setup
220
67
  ```bash
221
- # Clone the repository
68
+ # Clone and install
222
69
  git clone https://github.com/ankit-sharma/git-history-ui.git
223
70
  cd git-history-ui
224
-
225
- # Install dependencies
226
71
  npm install
227
72
 
228
73
  # Start development servers
229
74
  npm run dev
230
-
231
- # Build for production
232
- npm run build
233
75
  ```
234
76
 
235
- ### Docker Deployment (Planned)
77
+ ### Testing
236
78
  ```bash
237
- # Build Docker image
238
- docker build -t git-history-ui .
79
+ # Run backend tests
80
+ npm test
239
81
 
240
- # Run container
241
- docker run -p 3000:3000 git-history-ui
82
+ # Run frontend tests
83
+ cd frontend && npm test
242
84
  ```
243
85
 
244
- ## 🤝 Contributing
245
-
246
- We welcome contributions! Here's how to get started:
247
-
248
- ### Development Setup
249
- ```bash
250
- # 1. Fork and clone the repository
251
- git clone https://github.com/ankit-sharma/git-history-ui.git
252
- cd git-history-ui
253
-
254
- # 2. Install dependencies
255
- npm install
86
+ ## 📋 Requirements
256
87
 
257
- # 3. Start development servers
258
- npm run dev
88
+ - **Node.js**: 18.0.0 or higher
89
+ - **Git**: Any version (must be in a git repository)
259
90
 
260
- # 4. Make your changes
261
- # 5. Test your changes
262
- # 6. Submit a pull request
263
- ```
91
+ ## 🤝 Contributing
264
92
 
265
- ### Areas for Contribution
266
- - **UI/UX Improvements**: Better visualizations, animations, or user experience
267
- - **New Features**: Additional filtering options, blame visualization UI, etc.
268
- - **Performance**: Optimize graph rendering, search performance
269
- - **Documentation**: Improve README, add code comments
270
- - **Testing**: Add unit tests, integration tests
93
+ 1. Fork the repository
94
+ 2. Create a feature branch
95
+ 3. Make your changes
96
+ 4. Run tests
97
+ 5. Submit a pull request
271
98
 
272
99
  ## 📄 License
273
100
 
274
101
  MIT License - see [LICENSE](LICENSE) file for details
275
102
 
276
- ## 🙏 Acknowledgments
277
-
278
- - **[D3.js](https://d3js.org/)** - Beautiful data visualizations
279
- - **[Angular](https://angular.io/)** - Modern frontend framework
280
- - **[simple-git](https://github.com/steveukx/git-js)** - Git operations
281
- - **[Express](https://expressjs.com/)** - Backend server framework
282
-
283
- ## 🐛 Issues & Support
284
-
285
- - **🐛 Bug Reports**: Please include steps to reproduce and browser information
286
- - **💡 Feature Requests**: Describe the use case and expected behavior
287
- - **❓ Questions**: Open a discussion for general questions
288
-
289
- ## 📊 Project Status
290
-
291
- - ✅ **Core Features**: Complete
292
- - ✅ **Dark Mode**: Complete
293
- - ✅ **Theme System**: Complete
294
- - ✅ **Search & Filtering**: Complete
295
- - ✅ **Commit Graph Visualization**: Complete
296
- - ✅ **Diff Viewer**: Complete
297
- - 🚧 **Performance Optimization**: In Progress
298
- - 📋 **Export Features**: Planned
299
- - 📋 **Blame Visualization**: Backend ready, UI pending
300
- - 📋 **npm Package**: Ready for publishing
301
-
302
103
  ---
303
104
 
304
105
  Made with ❤️ for developers who love beautiful git visualizations