|
1 | | -<div align="center"> |
| 1 | +# ViewTouch Development Branch |
2 | 2 |
|
3 | | -# ViewTouchΒ© |
| 3 | +Welcome to the **dev** branch! This is a dedicated development environment for exploring, testing, and improving the ViewTouch codebase. |
4 | 4 |
|
5 | | -**The Original Graphical Touchscreen Restaurant Point of Sale Interface** |
| 5 | +## What is This Branch? |
6 | 6 |
|
7 | | -[](https://travis-ci.org/ViewTouch/viewtouch/builds) |
8 | | -[](https://discord.com/invite/ySmH2U2Mzb) |
9 | | -[](https://gitter.im/ViewTouch/viewtouch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
10 | | -[](https://www.gnu.org/licenses/gpl-3.0) |
| 7 | +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: |
11 | 8 |
|
12 | | -*ViewTouch is a registered trademark in the USA* |
| 9 | +- Latest code changes and enhancements |
| 10 | +- Work-in-progress features |
| 11 | +- Community-driven improvements |
| 12 | +- Modern C++ refactoring and modernizations |
| 13 | +- Static analysis fixes and code quality improvements |
13 | 14 |
|
14 | | -[Website](http://www.viewtouch.com) β’ [Wiki & Documentation](../../wiki) β’ [Download Image](http://www.viewtouch.com/nc.html) |
| 15 | +## For Developers & Community Contributors |
15 | 16 |
|
16 | | -</div> |
| 17 | +ViewTouch is **open to the community**! We welcome developers of all skill levels to: |
17 | 18 |
|
18 | | ---- |
19 | | - |
20 | | -## Table of Contents |
21 | | - |
22 | | -- [About](#about) |
23 | | -- [Quick Start](#quick-start) |
24 | | -- [Hardware](#hardware) |
25 | | -- [Screenshots](#screenshots) |
26 | | -- [History](#history) |
27 | | -- [Contact & Support](#contact--support) |
28 | | -- [License](#license) |
29 | | - |
30 | | ---- |
31 | | - |
32 | | -## About |
33 | | - |
34 | | -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. |
35 | | - |
36 | | -### Key Features |
37 | | - |
38 | | -- **Full High Definition Graphical Interface** - ViewTouch runs on (*requires*) displays with 1920 x 1080 resolution |
39 | | -- **Lightning-fast performance** - Entire transaction history kept in RAM for instant reporting |
40 | | -- **Network transparency** - Remote display capability via X Window System |
41 | | -- **Comprehensive reporting** - Real-time drill-down analytics and decision support |
42 | | -- **Labor management** - Interactive time clock with overtime alerts and cost control |
43 | | -- **Cross-platform** - Runs on Raspberry Pi 4/5, x86, and ARM architectures |
44 | | -- **Mobile integration** - Android tableside order entry support |
45 | | -- **Multilingual support** - Built-in language pack system |
46 | | -- **Cross platform solution** - Can be used on a wide variaty of linux distros thanks to the universal installer |
47 | | - |
48 | | -> **Note:** For build instructions and the latest announcements, visit the [Wiki](../../wiki). |
49 | | -
|
50 | | ---- |
51 | | - |
52 | | -## Quick Start |
53 | | - |
54 | | -### Download Pre-built Image |
55 | | - |
56 | | -[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. |
57 | | - |
58 | | -#### Building |
59 | | - |
60 | | -See the [Wiki](../../wiki) for detailed build instructions and development setup. Make sure your display is 1920 x 1080. |
61 | | - |
62 | | ---- |
63 | | - |
64 | | -## Hardware |
65 | | - |
66 | | -### Official ViewTouch Point of Sale Computer |
67 | | - |
68 | | -<div align="center"> |
69 | | - |
70 | | - |
71 | | - |
72 | | -**15.8" All-in-One Touchscreen POS Computer** |
73 | | -Powered by Raspberry Pi Compute Module 5 |
74 | | -Manufactured by Chipsee, Beijing, China |
75 | | - |
76 | | -</div> |
77 | | - |
78 | | -ViewTouch offers all-in-one Point of Sale computers featuring: |
79 | | -- 15.8" capacitive touchscreen display (1920Γ1080 resolution, which is the required resolution for any display running ViewTouch) |
80 | | -- Raspberry Pi 5 Compute Module |
81 | | -- Pre-installed ViewTouch software |
82 | | -- Network-ready for multi-terminal setups |
83 | | - |
84 | | -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. |
85 | | - |
86 | | -### Mobile Support |
87 | | - |
88 | | -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. |
89 | | - |
90 | | ---- |
91 | | - |
92 | | -## Screenshots |
93 | | - |
94 | | -> *Screenshots shown in 1280Γ1024 resolution, however, note that the Default (*required*) ViewTouch display resolution is 1920Γ1080 !* |
95 | | -
|
96 | | -### Time Clock and Secure Log On |
| 19 | +β
**Test your coding skills** β Improve and expand the ViewTouch codebase |
| 20 | +β
**Learn by doing** β Work with a real POS system written in modern C++ |
| 21 | +β
**Use AI assistance** β Leverage tools like GitHub Copilot, ChatGPT, or Claude to accelerate development |
| 22 | +β
**Contribute improvements** β Submit pull requests with enhancements, bug fixes, and optimizations |
| 23 | +β
**Collaborate** β Join an active community dedicated to advancing ViewTouch |
97 | 24 |
|
98 | | - |
| 25 | +## β οΈ Important Warning: Development Build Instability |
99 | 26 |
|
100 | | ---- |
101 | | - |
102 | | -### Order Entry - Lightning Fast Interface |
103 | | - |
104 | | -**Order Breakfast, then Display and/or Print in Kitchen** |
105 | | - |
106 | | - |
107 | | - |
108 | | ---- |
109 | | - |
110 | | -### Labor Management |
111 | | - |
112 | | -**Time Clock Review and Edit - Control Labor Expense** |
113 | | -Back Office, Comprehensive Labor Costing, Overtime Alerts, Interactive Time Clock Review and Editing |
114 | | - |
115 | | - |
116 | | - |
117 | | ---- |
118 | | - |
119 | | -### Real-time Analytics |
120 | | - |
121 | | -**Decision Support: Fly-Over, Drill-Down in Real Time** |
122 | | -Touch 'n' View Any Day or Any Period Updated Every Minute |
123 | | - |
124 | | - |
125 | | - |
126 | | -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. |
127 | | - |
128 | | ---- |
| 27 | +**THIS IS A DEVELOPMENT BUILD** β Expect bugs, incomplete features, and breaking changes. |
129 | 28 |
|
130 | | -## History |
| 29 | +- **Frequent Changes**: Code is actively being modified and tested |
| 30 | +- **Known Issues**: This branch will contain bugs and incomplete implementations |
| 31 | +- **Not Production Ready**: Do NOT use this build in production environments |
| 32 | +- **Testing Required**: Features may fail or behave unexpectedly |
131 | 33 |
|
132 | | -### Origins (1979-1986) |
| 34 | +## Reporting Issues |
133 | 35 |
|
134 | | -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**. |
| 36 | +Found a bug? Help us improve! Please report issues on our [Issues Page](../../issues) with: |
135 | 37 |
|
136 | | -**First Public Demonstration:** ComDex, Las Vegas, November 1986 |
137 | | -[See historical photo](https://commons.wikimedia.org/wiki/File:Comdex_1986.png) |
| 38 | +π **Detailed Information**: |
| 39 | +- Steps to reproduce the issue |
| 40 | +- Expected vs. actual behavior |
| 41 | +- Screenshots or error logs (if applicable) |
| 42 | +- Your environment (OS, ViewTouch version, build type) |
| 43 | +- Relevant code snippets or stack traces |
138 | 44 |
|
139 | | -**Early Platform:** Atari ST computers (1986-1993/4 under Jack Tramiel) |
| 45 | +π **Issue Template**: |
| 46 | +``` |
| 47 | +**Describe the bug:** |
| 48 | +[Clear description of the issue] |
140 | 49 |
|
141 | | -**Initial Funding & Support:** |
142 | | -- Ed Ramsay (1986 - code development funding) |
143 | | -- Barbara Mosher (1986 - present, ongoing financial support) |
144 | | -- John King, M.D., Chicago (early funding) |
| 50 | +**Steps to reproduce:** |
| 51 | +1. [First step] |
| 52 | +2. [Second step] |
| 53 | +3. [What happens] |
145 | 54 |
|
146 | | -### Modern Era (1995-1998) |
| 55 | +**Expected behavior:** |
| 56 | +[What should happen] |
147 | 57 |
|
148 | | -The current version of ViewTouch was created by Gene Mosher and C programmer Richard Bradley, transitioning to: |
149 | | -- **UNIX (AIX)** on Motorola PowerPC (1995) |
150 | | -- **MIT's X Window System** for network-transparent graphical interface (1995) |
151 | | -- **Linux on Intel x86** (1997) |
| 58 | +**Environment:** |
| 59 | +- OS: [e.g., Ubuntu 20.04] |
| 60 | +- ViewTouch Version: [e.g., dev branch, commit hash] |
| 61 | +- Build Type: [Debug/Release] |
152 | 62 |
|
153 | | -**Major Funding:** Billy Foster (1995-1998) |
| 63 | +**Additional context:** |
| 64 | +[Any other relevant information] |
| 65 | +``` |
154 | 66 |
|
155 | | -### Enhancement Period (2000-2004) |
| 67 | +## Getting Started |
156 | 68 |
|
157 | | -- **C to C++ transition** (2000-present day) |
158 | | -- Extensive code enhancement by Bruce King (2000-2004) Ariel Brambila Pelayo (2025) |
159 | | -- **Major Funding:** Doug DeLeeuw |
| 69 | +### Build and Test |
160 | 70 |
|
161 | | -### Open Source Era (2014-Present) |
| 71 | +```bash |
| 72 | +# Clone the repository |
| 73 | +git clone https://github.com/ViewTouch/viewtouch.git |
| 74 | +cd viewtouch |
| 75 | +git checkout dev |
162 | 76 |
|
163 | | -ViewTouch released under GNU Public License (GPL v3) with code hosted on GitHub. Significant modernization and refinement by the open-source community: |
| 77 | +# Build (Debug) |
| 78 | +cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug |
| 79 | +cmake --build build -j$(nproc) |
164 | 80 |
|
165 | | -**Key Contributors:** |
166 | | -- **Jack Morrison** - Amazing debugging skills |
167 | | -- **NeroBurner (Reinhold Gschweicher)** - Major refactoring and standardization |
168 | | -- **NoOne558 (Ariel Brambila Pelayo)** - Upgraded to Xft scalable fonts, mobile integration, AI-empowered refactoring of the entire ViewTouch code base. |
169 | | -- **Gene and Barbara Mosher** - Lifetime support and funding |
170 | | -- **Ariel Brambila Pelayo** - awarded co-ownership status of ViewTouch code and documentation at GitHub |
| 81 | +# Run tests |
| 82 | +cd build && ctest --output-on-failure -j$(nproc) |
171 | 83 |
|
172 | | -### Platform Evolution |
| 84 | +# Build (Release) |
| 85 | +cmake -S . -B build -DCMAKE_BUILD_TYPE=Release |
| 86 | +cmake --build build -j$(nproc) |
| 87 | +``` |
173 | 88 |
|
174 | | -| Year | Platform | Key Technology | |
175 | | -|------|----------|----------------| |
176 | | -| 1979 | Apple ][ | Initial POS code | |
177 | | -| 1986 | Atari ST | First GUI touchscreen POS | |
178 | | -| 1995 | AIX/PowerPC | UNIX + X Window System | |
179 | | -| 1997 | Linux/x86 | Intel architecture | |
180 | | -| 2000 | Linux/x86 | C++ transition | |
181 | | -| 2016+ | Raspberry Pi | Default platform (Pi 4/5) | |
| 89 | +### Contribute |
182 | 90 |
|
183 | | -**Current Stack:** |
184 | | -- **OS:** Debian Linux with XFCE desktop |
185 | | -- **Display:** X Window System (network-transparent) |
186 | | -- **Default Hardware:** Raspberry Pi family |
187 | | -- **Auto-update:** Desktop icon compiles and installs latest code from GitHub |
| 91 | +1. **Create a feature branch** from `dev` |
| 92 | +2. **Make your changes** and commit with clear messages |
| 93 | +3. **Test thoroughly** β build, run tests, smoke test the UI |
| 94 | +4. **Submit a pull request** with detailed description |
| 95 | +5. **Respond to feedback** and iterate |
188 | 96 |
|
189 | | -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. |
| 97 | +## Branch Strategy |
190 | 98 |
|
191 | | ---- |
192 | | - |
193 | | -## Contact & Support |
194 | | - |
195 | | -### Commercial Support |
196 | | - |
197 | | -**ViewTouch Official** |
198 | | -- **Website:** [www.viewtouch.com](http://www.viewtouch.com) |
199 | | -- **Email:** gene@viewtouch.com |
200 | | -- **Phone:** 541-515-5913 |
201 | | - |
202 | | -### Community |
| 99 | +- **`master`**: Official ViewTouch repository mirror (stable, upstream-aligned) |
| 100 | +- **`dev`**: Development and testing branch (active work, may be unstable) |
203 | 101 |
|
204 | | -- **Discord:** [Join our server](https://discord.com/invite/ySmH2U2Mzb) |
205 | | -- **GitHub Issues:** Bug reports and feature requests |
206 | | -- **Gitter Chat:** [Join the conversation](https://gitter.im/ViewTouch/viewtouch) |
207 | | -- **Wiki:** Documentation and guides |
| 102 | +## Resources |
208 | 103 |
|
209 | | -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. |
| 104 | +- π [Documentation](./docs/) |
| 105 | +- π [Report Issues](../../issues) |
| 106 | +- π¬ [Discussions](../../discussions) |
| 107 | +- π [Changelog](./docs/changelog.md) |
210 | 108 |
|
211 | 109 | --- |
212 | 110 |
|
213 | | -## License |
214 | | - |
215 | | -ViewTouch is released under the **GNU General Public License, version 3 (GPL v3)**. |
216 | | - |
217 | | -See [LICENSE](LICENSE) for full details. |
218 | | - |
219 | | ---- |
220 | | - |
221 | | -## Payment Processing |
222 | | - |
223 | | -ViewTouch does not manage electronic payment processing. Please make your own decisions with regard to Electronic Funds Transfer functionality. |
224 | | - |
225 | | ---- |
226 | | - |
227 | | -<div align="center"> |
228 | | - |
229 | | -**ViewTouch** - *Six decades of innovation in restaurant technology* |
230 | | -## Be sure to reach out to our team for any questions, we are always happy to help.π |
231 | | - |
232 | | -Made with β€οΈ by the ViewTouch community |
233 | | - |
234 | | -</div> |
| 111 | +**Happy coding! Together, we're building the future of ViewTouch.** π |
0 commit comments