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

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastrep-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 8772ca143548af53e47fa9b6d7e67c1dea489609b3f667f961b1646bc1855b4b
MD5 9e32126ebf89887d40d700633d83c2b4
BLAKE2b-256 e1c4b94ff76c118b41d6b0382f9b5a0c503c551f43753c894bf638ad091ea86f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastrep-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4b4ccbbc49466806c511b53eabe34a224a7554ebacdbf7afea780c2a4c66a596
MD5 e6ad111a56dc4e0b32197a3bb274f039
BLAKE2b-256 cb23a94368d5108b880220e3d052d694d990a987ef0846a5190bef1212da33dc

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