An open API service indexing awesome lists of open source software.

https://github.com/codewithjazmine/bookbot


https://github.com/codewithjazmine/bookbot

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

# BookBot

BookBot - a Python command-line tool that analyzes text files and displays word count and character statistics.
Built as part of [Boot.dev](https://www.boot.dev) curriculum using Python, Git, and GitHub.

## Project Overview

BookBot analyzes text files to provide:
- Total word count
- Character frequency analysis
- Sorted character count statistics

This project was built as part of my learning journey with Boot.dev to practice Python programming, command-line application development, and setting up a professional development environment.

## Features

- Read and process text files (works with novels like "Frankenstein", "Moby Dick", or any plain text file)
- Count the total number of words in a text
- Track character frequency and display sorted results
- Command-line interface for easy use with any text file

## Demo

https://github.com/user-attachments/assets/f19293eb-3fd0-485c-813b-fa2690ac3c0c

## How to Use

1. Clone this repository
2. Create a `books` directory and download text files you want to analyze (Project Gutenberg is a great source for free e-books)
3. Run the application by providing a path to a text file:
python main.py path_to_book.txt

For example:
```bash
python3 main.py books/frankenstein.txt
```

## Sample Output
```
========== BOOKBOT ==========
Analyzing book found at [book_file]
---------- Word Count ----------
Found [num_words] total words
---------- Character Count ----------
[char]: [count]
...
========== END ==========
```

## Project Structure

- `main.py`: Entry point of the application
- `stats.py`: Contains functions for text analysis
- `books/`: Directory for text files (not included in repository to keep it clean)

## Technologies Used

- Python
- Git & GitHub
- VS Code

## Learning Outcomes

Through building this project, I:
- Set up a local Python development environment
- Practiced building a complete project from scratch
- Implemented file I/O operations in Python
- Created text processing and analysis functions
- Used Git for version control and GitHub for project hosting

## Acknowledgements

This project was built as part of the [Boot.dev](https://boot.dev) curriculum.