A desktop workspace to document, organize, and track your software projects.
ProjectLog is a desktop application built with Electron, HTML, CSS, and JavaScript. It provides a dedicated space to maintain project notes, track development progress, organize resources, and keep important project information accessible in one place.
- Project Management — Create and maintain project records in one workspace.
- Development Journal — Document progress, ideas, decisions, and implementation notes.
- Roadmap & Tracking — Organize project plans and monitor development milestones.
- Search — Quickly locate projects and relevant information.
- Markdown Support — Write structured notes with readable formatting.
- History — Keep track of project changes and previous work.
- Media & Attachments — Work with project-related media and supporting resources.
- Folder Scanner — Scan a selected project directory and generate a readable file tree.
- Resource Discovery — Identify supported files, including source code, documents, images, datasets, and model files.
- PDF Export — Export project reports as PDF documents.
- Import & Export — Preserve project data using the application's supported data interchange format.
- Collapsible Sidebar — Keep the interface clean and maximize workspace.
- External Links — Open GitHub and portfolio links in the system's default browser.
- Desktop Experience — Run as a standalone Electron application on Windows.
Feature availability may depend on the version of ProjectLog you are using.
Get ProjectLog for Windows from the GitHub Releases page.
Download ProjectLog for Windows
- Open the latest release.
- Download the
.exeinstaller from the Assets section. - Run the installer and follow the setup instructions.
- Launch ProjectLog from the Start menu or desktop shortcut, if created.
System requirements
- Windows 10 or Windows 11
- No separate Node.js installation required for the packaged application
| Technology | Purpose |
|---|---|
| Electron | Desktop application framework |
| HTML5 | Application structure |
| CSS3 | Styling and responsive interface |
| JavaScript | Application logic and interactions |
| Node.js | Desktop-side operations |
| Electron IPC | Communication between the interface and main process |
| Electron Builder | Application packaging and distribution |
- Windows 10 or Windows 11
- Node.js with npm
- Git (optional, for cloning the repository)
git clone https://github.com/sakib-12345/ProjectLog.gitcd ProjectLognpm installnpm startThe Electron desktop application should launch.
ProjectLog uses Electron Builder to package the application.
Run:
npm run distAfter the build finishes, check the generated dist/ directory for the packaged application and installer artifacts.
The exact output depends on your package.json and Electron Builder configuration.
ProjectLog/
├── assets/
│ └── icon.png
├── main.js
├── preload.js
├── index.html
├── package.json
├── package-lock.json
└── README.md
main.js— Creates the application window, handles desktop operations, scans folders, and exports PDF reports.preload.js— Exposes approved desktop functionality to the renderer through a controlled bridge.index.html— Contains the application's interface and frontend logic.assets/— Stores application assets such as the icon.package.json— Defines dependencies, scripts, and build configuration.
The folder scanner helps you understand a software project's structure without manually browsing every directory.
It can:
- Generate a hierarchical file tree.
- Identify supported resource types.
- Display file metadata, including file size and modification time.
- Skip common generated or dependency directories.
- Limit scanning to 500 entries and a depth of five levels to control resource usage.
Common excluded directories include node_modules, .git, .venv, build, dist, and __pycache__.
ProjectLog can generate PDF reports from project content.
The desktop process handles the save dialog, renders the report, and writes the resulting PDF to the selected location.
ProjectLog uses Electron's security-related configuration options, including:
contextIsolation: truenodeIntegration: falsesandbox: true
Desktop operations should be exposed to the frontend through a restricted preload bridge. External HTTP and HTTPS links are intended to open in the operating system's default browser.
Start the application in development mode:
npm startBuild a distributable package:
npm run distIf you modify the application, test the affected features before creating a release.
Potential areas for future development:
- Enhanced project roadmaps and milestone tracking
- More powerful search and filtering
- Improved Markdown editing and preview
- Project revision history
- Better media and attachment management
- More export formats and customizable reports
- Improved application settings and keyboard shortcuts
- Automated release builds and update support
Contributions, bug reports, and feature suggestions are welcome.
- Fork the repository.
- Create a feature branch.
- Make your changes.
- Test the affected functionality.
- Open a pull request describing your changes.
Please keep changes focused and preserve compatibility with existing project data and supported import/export formats.
This project is licensed under the MIT License if the repository includes an MIT license file. See LICENSE for the applicable terms.
Shakib Hossain Tahmid
- GitHub: @sakib-12345
- Portfolio: shakibhossaintahmid.vercel.app
ProjectLog — Keep your projects organized. Keep your progress documented.
