Skip to main content

A CLI and web-based tool for tracking daily work activities and generating reports

Project description

FastRep 📊

A powerful CLI and web-based tool for tracking daily work activities and generating professional reports.

PyPI version License: MIT

Features ✨

  • Easy Logging: Quickly log your daily work activities with project names and descriptions
  • Automatic Reports: Generate weekly, bi-weekly, and monthly reports instantly
  • Dual Interface: Use either the command-line interface or the professional web UI
  • SQLite Database: All data stored locally in a lightweight SQLite database
  • Project Tracking: Automatically organize logs by project
  • Flexible Dating: Log entries for any date, not just today
  • Easy Search: View and filter logs by date range
  • Data Management: Delete individual entries or clear entire database

Installation

From PyPI (Recommended)

pip install fastrep

From Source

git clone https://github.com/hissain/fastrep.git
cd fastrep
pip install -e .

Quick Start

Command Line Interface

# Add a work log entry
fastrep log -p "Project Alpha" -d "Implemented user authentication"

# Add a log for a specific date
fastrep log -p "Project Beta" -d "Fixed bug #123" --date 2024-11-15

# View weekly report
fastrep view --mode weekly

# View bi-weekly report
fastrep view --mode biweekly

# View monthly report
fastrep view --mode monthly

# List all entries
fastrep list

# View all projects
fastrep projects

# Delete a specific entry
fastrep delete --id 5

# Clear all data (with confirmation)
fastrep clear

Web Interface

Launch the web UI:

fastrep-ui

The web interface will automatically open in your default browser at http://127.0.0.1:5000.

Usage Examples

Daily Workflow

# Morning: Log yesterday's work
fastrep log -p "API Development" -d "Completed endpoint for user profiles" --date 2024-11-20

# End of day: Log today's work
fastrep log -p "API Development" -d "Started work on authentication middleware"
fastrep log -p "Documentation" -d "Updated API documentation"

# Friday: Generate weekly report
fastrep view --mode weekly

Report Output Example

Report Period: 11/16 - 11/22
============================================================

Project: API Development
------------------------------------------------------------
  * 11/21 - Started work on authentication middleware
  * 11/20 - Completed endpoint for user profiles
  * 11/18 - Fixed performance issues in database queries

Project: Documentation
------------------------------------------------------------
  * 11/21 - Updated API documentation
  * 11/19 - Created user guide for new features

CLI Commands Reference

fastrep log

Add a new work log entry.

Options:

  • -p, --project TEXT: Project name (required)
  • -d, --description TEXT: Work description (required)
  • -dt, --date TEXT: Date in YYYY-MM-DD format (optional, defaults to today)

fastrep view

View logs and generate reports.

Options:

  • -m, --mode [weekly|biweekly|monthly]: Report period (default: weekly)
  • -s, --start TEXT: Custom start date (YYYY-MM-DD)
  • -e, --end TEXT: Custom end date (YYYY-MM-DD)

fastrep list

List all log entries with their IDs.

fastrep projects

List all unique projects.

fastrep delete

Delete a specific log entry.

Options:

  • -i, --id INTEGER: Log entry ID to delete (required)
  • -y, --confirm: Skip confirmation prompt

fastrep clear

Clear all log entries from the database.

Options:

  • -y, --confirm: Skip confirmation prompt

Web UI Features

The web interface provides:

  1. Dashboard: Add new logs with autocomplete for project names
  2. Recent Logs Table: View, search, and delete entries
  3. Report Generation: One-click weekly, bi-weekly, and monthly reports
  4. Copy to Clipboard: Easy report copying for emails/documents
  5. Settings: Database management and configuration

Database Location

Logs are stored in: ~/.fastrep/fastrep.db

Both CLI and web UI use the same database, so your data is always in sync.

Development

Setup Development Environment

git clone https://github.com/hissain/fastrep.git
cd fastrep
pip install -e .

Project Structure

fastrep/
├── fastrep/
│   ├── __init__.py
│   ├── cli.py              # CLI commands
│   ├── database.py         # Database operations
│   ├── models.py           # Data models
│   ├── report_generator.py # Report generation logic
│   └── ui/
│       ├── app.py          # Flask application
│       ├── templates/      # HTML templates
│       └── static/         # CSS files
├── tests/
├── setup.py
└── README.md

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Md. Sazzad Hissain Khan

Acknowledgments

  • Built with Click for CLI
  • Web UI powered by Flask
  • Database management with SQLite

Support

If you encounter any issues or have questions:

  • Open an issue on GitHub
  • Check existing issues for solutions

Star ⭐ this repository if you find it helpful!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastrep-1.0.0.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastrep-1.0.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file fastrep-1.0.0.tar.gz.

File metadata

  • Download URL: fastrep-1.0.0.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for fastrep-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1b72fa3070af9130f6c72d75b004b964ac60fe381c448d083afb6b9ffd6f5244
MD5 7c45e9c7fa40a5ddb1f705edd54b4505
BLAKE2b-256 4d180a58fa0d53a71446bf075589de20cc428e716b8254622df722250fd8816b

See more details on using hashes here.

File details

Details for the file fastrep-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: fastrep-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for fastrep-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 488a4713213847ed51f81e0dfda602d4137587e4b10b57bdedb52d801a8e5619
MD5 646cefd6275e0ba9d948f5d0bcdb7461
BLAKE2b-256 df0f39fa4b01907c91f8797bd064f51f50a3236d6b8ff610e294f2817fb9d67d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page