diff --git a/README.md b/README.md index eb6f9d9a..cb21612c 100644 --- a/README.md +++ b/README.md @@ -1,234 +1,111 @@ -
+# ViewTouch Development Branch -# ViewTouch© +Welcome to the **dev** branch! This is a dedicated development environment for exploring, testing, and improving the ViewTouch codebase. -**The Original Graphical Touchscreen Restaurant Point of Sale Interface** +## What is This Branch? -[![Build Status](https://img.shields.io/travis/ViewTouch/viewtouch/master.svg?label=Travis)](https://travis-ci.org/ViewTouch/viewtouch/builds) -[![Discord](https://img.shields.io/discord/YOUR_SERVER_ID?color=7289da&label=Discord&logo=discord&logoColor=white)](https://discord.com/invite/ySmH2U2Mzb) -[![Join the chat at https://gitter.im/ViewTouch/viewtouch](https://badges.gitter.im/ViewTouch/viewtouch.svg)](https://gitter.im/ViewTouch/viewtouch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +The `dev` branch serves as an **experimental and testing ground** for new features, improvements, and refactoring. Unlike the `master` branch (which mirrors the official ViewTouch repository), the `dev` branch contains: -*ViewTouch is a registered trademark in the USA* +- Latest code changes and enhancements +- Work-in-progress features +- Community-driven improvements +- Modern C++ refactoring and modernizations +- Static analysis fixes and code quality improvements -[Website](http://www.viewtouch.com) • [Wiki & Documentation](../../wiki) • [Download Image](http://www.viewtouch.com/nc.html) +## For Developers & Community Contributors -
+ViewTouch is **open to the community**! We welcome developers of all skill levels to: ---- - -## Table of Contents - -- [About](#about) -- [Quick Start](#quick-start) -- [Hardware](#hardware) -- [Screenshots](#screenshots) -- [History](#history) -- [Contact & Support](#contact--support) -- [License](#license) - ---- - -## About - -ViewTouch is a powerful, open-source Point of Sale system designed specifically for the restaurant and hospitality industry. With over four decades of development, it combines the reliability of Linux with the flexibility of the X Window System to deliver a robust, network-transparent POS solution. - -### Key Features - -- **Full High Definition Graphical Interface** - ViewTouch runs on (*requires*) displays with 1920 x 1080 resolution -- **Lightning-fast performance** - Entire transaction history kept in RAM for instant reporting -- **Network transparency** - Remote display capability via X Window System -- **Comprehensive reporting** - Real-time drill-down analytics and decision support -- **Labor management** - Interactive time clock with overtime alerts and cost control -- **Cross-platform** - Runs on Raspberry Pi 4/5, x86, and ARM architectures -- **Mobile integration** - Android tableside order entry support -- **Multilingual support** - Built-in language pack system -- **Cross platform solution** - Can be used on a wide variaty of linux distros thanks to the universal installer - -> **Note:** For build instructions and the latest announcements, visit the [Wiki](../../wiki). - ---- - -## Quick Start - -### Download Pre-built Image - -[Download the latest ViewTouch image](http://www.viewtouch.com/nc.html) for Raspberry Pi (4 or 5). Write the image to a 32GB or larger microSD card, and boot directly to the ViewTouch desktop with full POS functionality. - -#### Building - -See the [Wiki](../../wiki) for detailed build instructions and development setup. Make sure your display is 1920 x 1080. - ---- - -## Hardware - -### Official ViewTouch Point of Sale Computer - -
- -![ViewTouch Point of Sale Computer with 15.8" Display](https://www.viewtouch.com/poscomputer.avif) - -**15.8" All-in-One Touchscreen POS Computer** -Powered by Raspberry Pi Compute Module 5 -Manufactured by Chipsee, Beijing, China - -
- -ViewTouch offers all-in-one Point of Sale computers featuring: -- 15.8" capacitive touchscreen display (1920×1080 resolution, which is the required resolution for any display running ViewTouch) -- Raspberry Pi 5 Compute Module -- Pre-installed ViewTouch software -- Network-ready for multi-terminal setups - -With open-source code and Raspberry Pi hardware, restaurateurs can now fully automate their operations with complete control over their POS system, including source code access. - -### Mobile Support - -Thanks to Pelya (Sergii Pylypenko) and Ariel Brambila Pelayo for ensuring that with [Xsdl](https://apkpure.com/xserver-xsdl/x.org.server) mobile Android devices as wireless ViewTouch tableside order entry displays. - ---- - -## Screenshots - -> *Screenshots shown in 1280×1024 resolution, however, note that the Default (*required*) ViewTouch display resolution is 1920×1080 !* - -### Time Clock and Secure Log On +✅ **Test your coding skills** — Improve and expand the ViewTouch codebase +✅ **Learn by doing** — Work with a real POS system written in modern C++ +✅ **Use AI assistance** — Leverage tools like GitHub Copilot, ChatGPT, or Claude to accelerate development +✅ **Contribute improvements** — Submit pull requests with enhancements, bug fixes, and optimizations +✅ **Collaborate** — Join an active community dedicated to advancing ViewTouch -![Touchscreen Password, Log On and Timeclock](http://www.viewtouch.com/vtscrn1.png) +## ⚠️ Important Warning: Development Build Instability ---- - -### Order Entry - Lightning Fast Interface - -**Order Breakfast, then Display and/or Print in Kitchen** - -![Order Breakfast, then Display and/or Print in Kitchen](http://www.viewtouch.com/vtscrn6.png) - ---- - -### Labor Management - -**Time Clock Review and Edit - Control Labor Expense** -Back Office, Comprehensive Labor Costing, Overtime Alerts, Interactive Time Clock Review and Editing - -![Time Clock Review and Edit - Control Labor Expense](http://www.viewtouch.com/vtscrn3.png) - ---- - -### Real-time Analytics - -**Decision Support: Fly-Over, Drill-Down in Real Time** -Touch 'n' View Any Day or Any Period Updated Every Minute - -![Decision Support: Fly-Over, Drill-Down in Real Time](http://www.viewtouch.com/vtscrn5.png) - -ViewTouch doesn't just store your data—it keeps your entire transaction history in RAM for perfect accuracy and lightning speed. Auditors can see compliance across every period. Control non-cash revenue adjustments and labor costs, including non-intuitive details, shift by shift, weekly, monthly, quarterly, and yearly. - ---- +**THIS IS A DEVELOPMENT BUILD** — Expect bugs, incomplete features, and breaking changes. -## History +- **Frequent Changes**: Code is actively being modified and tested +- **Known Issues**: This branch will contain bugs and incomplete implementations +- **Not Production Ready**: Do NOT use this build in production environments +- **Testing Required**: Features may fail or behave unexpectedly -### Origins (1979-1986) +## Reporting Issues -Gene Mosher began writing Point of Sale code on an Apple ][ in 1979. ViewTouch© as we know it today was first created by restaurateur Gene Mosher and C programmer Nick Colley in **1986**, making it the **ORIGINAL Graphical Touchscreen Restaurant Point of Sale Interface**. +Found a bug? Help us improve! Please report issues on our [Issues Page](../../issues) with: -**First Public Demonstration:** ComDex, Las Vegas, November 1986 -[See historical photo](https://commons.wikimedia.org/wiki/File:Comdex_1986.png) +📝 **Detailed Information**: +- Steps to reproduce the issue +- Expected vs. actual behavior +- Screenshots or error logs (if applicable) +- Your environment (OS, ViewTouch version, build type) +- Relevant code snippets or stack traces -**Early Platform:** Atari ST computers (1986-1993/4 under Jack Tramiel) +📋 **Issue Template**: +``` +**Describe the bug:** +[Clear description of the issue] -**Initial Funding & Support:** -- Ed Ramsay (1986 - code development funding) -- Barbara Mosher (1986 - present, ongoing financial support) -- John King, M.D., Chicago (early funding) +**Steps to reproduce:** +1. [First step] +2. [Second step] +3. [What happens] -### Modern Era (1995-1998) +**Expected behavior:** +[What should happen] -The current version of ViewTouch was created by Gene Mosher and C programmer Richard Bradley, transitioning to: -- **UNIX (AIX)** on Motorola PowerPC (1995) -- **MIT's X Window System** for network-transparent graphical interface (1995) -- **Linux on Intel x86** (1997) +**Environment:** +- OS: [e.g., Ubuntu 20.04] +- ViewTouch Version: [e.g., dev branch, commit hash] +- Build Type: [Debug/Release] -**Major Funding:** Billy Foster (1995-1998) +**Additional context:** +[Any other relevant information] +``` -### Enhancement Period (2000-2004) +## Getting Started -- **C to C++ transition** (2000-present day) -- Extensive code enhancement by Bruce King (2000-2004) Ariel Brambila Pelayo (2025) -- **Major Funding:** Doug DeLeeuw +### Build and Test -### Open Source Era (2014-Present) +```bash +# Clone the repository +git clone https://github.com/ViewTouch/viewtouch.git +cd viewtouch +git checkout dev -ViewTouch released under GNU Public License (GPL v3) with code hosted on GitHub. Significant modernization and refinement by the open-source community: +# Build (Debug) +cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug +cmake --build build -j$(nproc) -**Key Contributors:** -- **Jack Morrison** - Amazing debugging skills -- **NeroBurner (Reinhold Gschweicher)** - Major refactoring and standardization -- **NoOne558 (Ariel Brambila Pelayo)** - Upgraded to Xft scalable fonts, mobile integration, AI-empowered refactoring of the entire ViewTouch code base. -- **Gene and Barbara Mosher** - Lifetime support and funding -- **Ariel Brambila Pelayo** - awarded co-ownership status of ViewTouch code and documentation at GitHub +# Run tests +cd build && ctest --output-on-failure -j$(nproc) -### Platform Evolution +# Build (Release) +cmake -S . -B build -DCMAKE_BUILD_TYPE=Release +cmake --build build -j$(nproc) +``` -| Year | Platform | Key Technology | -|------|----------|----------------| -| 1979 | Apple ][ | Initial POS code | -| 1986 | Atari ST | First GUI touchscreen POS | -| 1995 | AIX/PowerPC | UNIX + X Window System | -| 1997 | Linux/x86 | Intel architecture | -| 2000 | Linux/x86 | C++ transition | -| 2016+ | Raspberry Pi | Default platform (Pi 4/5) | +### Contribute -**Current Stack:** -- **OS:** Debian Linux with XFCE desktop -- **Display:** X Window System (network-transparent) -- **Default Hardware:** Raspberry Pi family -- **Auto-update:** Desktop icon compiles and installs latest code from GitHub +1. **Create a feature branch** from `dev` +2. **Make your changes** and commit with clear messages +3. **Test thoroughly** — build, run tests, smoke test the UI +4. **Submit a pull request** with detailed description +5. **Respond to feedback** and iterate -Gene Mosher's passion and vision has overseen the development, management, and maintenance of ViewTouch code across six decades, spanning a wide array of computers and point of sale equipment. Gene owns the ViewTouch copyright and remains active in ViewTouch in 2025. A personal note to everyone from Gene: I am getting on in years and everyone has always wanted me to tell them what will happen to ViewTouch if/when something happens to me. In 2025 I can reassure that I will be participating in the development of ViewTouch until my last breath, which could easily be 2050 (I'll be 101 then), and with Ariel, who is about half a century younger than I am, being awarded co-ownership of the ViewTouch code and documentation at ViewTouch/GitHub, nothing bad can happen, is going to happen, to ViewTouch. I myself used to wonder about the future of ViewTouch, but I no longer do wonder about the future of ViewTouch. It's going to be alive, healthy, vibrant and dynamic for a long, long time. A new chapter has been opened for ViewTouch in 2025 and I could not be happier about it. Anyone can be a part of the future of ViewTouch - I welcome all who will join us. +## Branch Strategy ---- - -## Contact & Support - -### Commercial Support - -**ViewTouch Official** -- **Website:** [www.viewtouch.com](http://www.viewtouch.com) -- **Email:** gene@viewtouch.com -- **Phone:** 541-515-5913 - -### Community +- **`master`**: Official ViewTouch repository mirror (stable, upstream-aligned) +- **`dev`**: Development and testing branch (active work, may be unstable) -- **Discord:** [Join our server](https://discord.com/invite/ySmH2U2Mzb) -- **GitHub Issues:** Bug reports and feature requests -- **Gitter Chat:** [Join the conversation](https://gitter.im/ViewTouch/viewtouch) -- **Wiki:** Documentation and guides +## Resources -The availability of ViewTouch source code and documentation at GitHub benefits clients, customers, and associates of Gene Mosher, facilitating the enhancement and extension of ViewTouch source code. +- 📚 [Documentation](./docs/) +- 🐛 [Report Issues](../../issues) +- 💬 [Discussions](../../discussions) +- 📖 [Changelog](./docs/changelog.md) --- -## License - -ViewTouch is released under the **GNU General Public License, version 3 (GPL v3)**. - -See [LICENSE](LICENSE) for full details. - ---- - -## Payment Processing - -ViewTouch does not manage electronic payment processing. Please make your own decisions with regard to Electronic Funds Transfer functionality. - ---- - -
- -**ViewTouch** - *Six decades of innovation in restaurant technology* -## Be sure to reach out to our team for any questions, we are always happy to help.😊 - -Made with ❤️ by the ViewTouch community - -
+**Happy coding! Together, we're building the future of ViewTouch.** 🚀