Commit 92a6e9

2025-08-08 19:40:57 Tebby Dog: init
/dev/null .. sales tracker.md
@@ 0,0 1,282 @@
+ # Sales Tracker
+
+ A modern-as-hell, playful web application for tracking sales and wrangling analytics — with an interactive login that's almost too clever for its own good.
+
+ ## Screenshots
+
+
+ ## Features
+
+ - 📊 **Sales Analytics Dashboard** – Visualize sales like a data-driven badass
+ - 👥 **User Management** – Multi-level permissions so your team doesn’t accidentally break stuff
+ - 📈 **Data Entry & Export** – Input sales quickly and shoot that crap into Excel
+ - 🎮 **Interactive Login** – Cursor-evasive Sign In button just to mess with people
+ - 🔒 **Secure Authentication** – Password hashing that even your nosy-ass sysadmin can’t break
+ - 📱 **Responsive Design** – Runs smooth on desktop, tablet, or that old phone you still won’t upgrade
+
+ ### Core Functionality
+
+ - **Employee Management** – Add/edit employees, their commissions, draws — the whole damn deal
+ - **Sales Data Entry** – Do it by hand or slam in a CSV like a pro
+ - **Analytics Dashboard** – Filter and graph until the numbers make sense or you rage-quit
+ - **Admin Panel** – Wrapped in password protection, because duh
+
+ ### Database Schema
+
+ Your data’s not just dumped — we gave it structure like responsible grownups:
+
+ - **Employee Table**: Tracks the who, what, and when of your sales crew
+ - **Sales Table**: Logs every dollar that rolls in
+ - **Settings Table**: Keeps track of your system’s default working setup and toggles
+ - **Goals Table**: Measure who's slaying and who's slacking
+
+ ### Three Main Pages
+
+ #### 1. Management Tab (Locked Behind a Password Wall)
+
+ - Admin login with proper credentials (no password123 crap)
+ - Employee configuration panel
+ - Settings for system behavior and admin updates
+ - Switch how commissions & draws are shown — % or actual bucks
+ - **Epic theme picker with 8 presets for maximum visual hell yeah**
+
+ #### 2. Analytics Page (Wide Frickin’ Open)
+
+ - Tracks Year-to-Date stats, or whatever time range floats your fancy
+ - Uses Chart.js because facts deserve pretty pictures
+ - Bar, pie, line charts — you name it
+ - Filter time ranges and export data like an absolute legend
+ - Adaptive UI responds to theme like a mood ring for business
+
+ #### 3. Data Entry Page (Wide Open Like Your Inbox)
+
+ - Manual sales input
+ - Commissions calculated automatically (no more math headaches)
+ - Draw payment tracking — keep it drama-free
+ - Upload CSVs and watch it handle bulk data like a champ
+ - Validates your entries because your future self will thank you
+ - Keeps the recent entries right where you can see them
+
+ ## Technical Stack
+
+ Because building badass tools needs solid tech:
+
+ - 🧠 **Backend**: Flask + SQLAlchemy
+ - 🐘 **Database**: SQLite, cause it just works
+ - 🖋️ **Forms**: Flask-WTF with CSRF defense
+ - 🔐 **Security**: Werk-f’ing-Zeug password hashing for locked-tight sessions
+ - 💅 **Frontend**: Bootstrap 5, sexy in all screen sizes
+ - 📊 **Charts**: Chart.js — clean, crisp, and fast AF
+ - 🐳 **Deployment**: Dockerized and ready to ship
+
+ ## Installation & Setup
+
+ ### Quick Start with Docker (The Way Developers Actually Do It)
+
+ 1. Clone this bad boy:
+ ```bash
+ git clone <repository-url>
+ cd sales-tracker
+ chmod +x setup.sh
+ ./setup.sh
+ ```
+
+ 2. Manual Docker Compose (for control freaks):
+ ```bash
+ docker-compose up --build
+ ```
+
+ 3. Launch that sucker:
+ - Visit http://localhost:5000
+ - Admin credentials: `admin` / `admin` (you’ll wanna change that ASAP)
+
+ ### Setup Options
+
+ **Dev Mode** — a no-pressure playground:
+ ```bash
+ ./setup.sh --dev
+ ```
+
+ **Production Mode** — the serious stuff:
+ ```bash
+ ./setup.sh --production
+ ```
+
+ **Persistent Mode** — the one that doesn’t forget your data:
+ ```bash
+ ./setup.sh --persistent
+ ```
+
+ Gives access at http://localhost:5001 if you're following recipes correctly.
+
+ ### Got Database Problems? Let’s Kick Their Ass
+
+ 1. Use in-container magic:
+ ```bash
+ docker run -p 5000:5000 -e DATABASE_URL=sqlite:///sales_tracker.db sales-tracker
+ ```
+
+ 2. Fix crappy host permissions:
+ ```bash
+ mkdir -p data uploads
+ chmod 755 data uploads
+ ```
+
+ 3. Or go full persistent mode:
+ ```bash
+ ./setup.sh --persistent
+ ```
+
+ ### Local Dev Setup
+
+ 1. Get your damn Python set up:
+ ```bash
+ python3 -m venv venv
+ source venv/bin/activate
+ pip install -r requirements.txt
+ ```
+
+ 2. Fire up the beast:
+ ```bash
+ python app.py
+ ```
+
+ 3. Open browser → http://localhost:5000
+ (Or don’t. Be a rebel.)
+
+ ## Configuration
+
+ ### Environment Sh*t You Shouldn’t Forget
+
+ - `SECRET_KEY` — don’t check this into Git, ya dingus
+ - `FLASK_ENV` — development or production
+ - `DATABASE_URL` — override the default if you like pain
+
+ ### Defaults
+
+ - Admin: `admin`
+ - Password: `admin` (again, change it dammit)
+ - Database: `sales_tracker.db`
+
+ ## Usage Guide
+
+ ### First-Time Dance
+
+ 1. Load up http://localhost:5000
+ 2. Smash that “Admin Login” button
+ 3. Change the password — your organization’s honor depends on it
+ 4. Add employees like a benevolent god
+
+ ### Logging Sales (a.k.a. The Reason This Sh*t Exists)
+
+ 1. Go to Data Entry
+ 2. Type in details
+ 3. Let auto-commission math do its thing
+ 4. Or bulk upload a fancy-ass CSV
+
+ ### Viewing Analytics
+
+ 1. Hit Analytics
+ 2. Filter stuff until it tells you something useful
+ 3. Export if your boss wants proof
+
+ ### Managing the Team
+
+ 1. Admin login
+ 2. Edit employees or set their goals
+ 3. Toggle display settings — % or flat amounts
+ 4. Yell at slackers (optional)
+
+ ### Theme Customization (Because Vibes Matter)
+
+ 1. Hit the palette icon in the navbar
+ 2. Choose one of the 8 eye-popping themes
+ 3. Watch the app change outfits instantly
+
+ Themes include:
+
+ - Default Blue
+ - Dark Theme (work in the shadows, baby)
+ - Nature Green (for tree-huggin’ teams)
+ - Royal Purple (His Royal Freshness would approve)
+ - Sunset Orange
+ - Ocean Teal
+ - Corporate Red (power tie vibes)
+ - Modern Pink
+
+ Settings persist for admin; guests get localStorage (so they don’t ruin your vibe).
+
+ ## File Structure
+
+ ```
+ sales-tracker/
+ ├── app.py # Main Flask beast
+ ├── requirements.txt # Python goodies
+ ├── Dockerfile # So your app works on my damn machine too
+ ├── docker-compose.yml # Stack orchestration magic
+
+ ```
+
+ ## API Endpoints
+
+ - `GET /api/sales_data?period=YTD` — give us that chart data
+ - `GET /api/trends_data` — how the bloody hell are we doing?
+ - `POST /bulk_upload` — shove an entire CSV down its throat
+
+ ## Security Features
+
+ - Password hashing (locked tighter than grandma’s cookie jar)
+ - CSRF protection — no cross-site BS allowed
+ - Session-based ownership
+ - Input validation so you don’t feed it junk
+ - SQLAlchemy ORM to dodge SQL injection like Neo
+
+ ## Performance
+
+ Fast as hell. Optimized frontend, backend, and everything in between. Ready to scale... maybe.
+
+ ## Maintenance
+
+ ### Backup the Damn DB
+
+ ```bash
+ docker exec sales-tracker-app sqlite3 /app/sales_tracker.db ".backup /app/data/backup.db"
+ ```
+
+ ### Update This Beautiful Bastard
+
+ ```bash
+ docker-compose down
+ docker-compose up --build
+ ```
+
+ ### Check Logs Like a Debugging Ninja
+
+ ```bash
+ docker-compose logs -f sales-tracker
+ ```
+
+ ## Contributing
+
+ 1. Fork it
+ 2. Branch it
+ 3. Make it better
+ 4. Pull request and bask in glory
+
+ ## License
+
+ Built with Flask, Bootstrap, and several shots of espresso. Have fun breaking it.
+
+ ## Support
+
+ Issues? Questions? Praise-singing?
+ File an issue on GitHub or yell at [tebbydog0605](https://github.com/tebbydog0605).
+
+ ---
+ 👑 Created by: [tebbydog0605](https://github.com/tebbydog0605)
+ 🐋 Docker Hub: [tebwritescode](https://hub.docker.com/u/tebwritescode)
+ 💻 Website: [tebwrites.code](https://tebwrites.code)
+
+ ---
+
+ Let me know if you want toggles for “Cuss-Free Mode” 😈 — or would you like an even spicier edit?
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9