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.2.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.2-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastrep-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 2f7310ce25d896774b18a516ad637b89c74563983867db60b681aed44b0a41ed
MD5 67612d3eea3f8a46bf626694bcade03a
BLAKE2b-256 7d73982e9c8b10365c6eae1c54bb7129a5954683765532cf1e231e32374fe509

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastrep-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 17.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f5724a3dd075c91e54efa00c6a2d2f81638558dd4ff811f784c450d80e1c6bab
MD5 8059f278ce8a045a561d1742d05b20d5
BLAKE2b-256 c1d70d33661ad79377c21176bcf71b76e09719a09c3c1f1ce73bebe869b8b188

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