Skip to content

Commit 16eef15

Browse files
committed
feat: initial version of oda-pro-styled
1 parent 756ec4e commit 16eef15

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+31739
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Copyright (c) 2025 Oracle and/or its affiliates.
2+
3+
The Universal Permissive License (UPL), Version 1.0
4+
5+
Subject to the condition set forth below, permission is hereby granted to any
6+
person obtaining a copy of this software, associated documentation and/or data
7+
(collectively the "Software"), free of charge and under any and all copyright
8+
rights in the Software, and any and all patent rights owned or freely
9+
licensable by each licensor hereunder covering either (i) the unmodified
10+
Software as contributed to or provided by such licensor, or (ii) the Larger
11+
Works (as defined below), to deal in both
12+
13+
(a) the Software, and
14+
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
15+
one is included with the Software (each a "Larger Work" to which the Software
16+
is contributed by such licensors),
17+
18+
without restriction, including without limitation the rights to copy, create
19+
derivative works of, display, perform, and distribute the Software and make,
20+
use, sell, offer for sale, import, export, have made, and have sold the
21+
Software and the Larger Work(s), and to sublicense the foregoing rights on
22+
either these or other terms.
23+
24+
This license is subject to the following condition:
25+
The above copyright notice and either this complete permission notice or at
26+
a minimum a reference to the UPL must be included in all copies or
27+
substantial portions of the Software.
28+
29+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
35+
SOFTWARE.
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
# ODA Pro Styled
2+
3+
<video width="600" controls>
4+
<source src="files/oda-pro-styled-demo.mp4" type="video/mp4">
5+
</video>
6+
7+
A complete solution for creating professional, customizable chat interfaces for Oracle Digital Assistant with enterprise-grade speech recognition capabilities.
8+
9+
## Overview
10+
11+
ODA Pro Styled provides everything you need to deploy branded chat experiences that integrate seamlessly with Oracle Digital Assistant. Perfect for solution architects, sales teams, and developers who need to quickly showcase Oracle Digital Assistant across multiple client scenarios.
12+
13+
**What's Included:**
14+
15+
- **Frontend**: Modern React chat interface with multi-project theming
16+
- **Backend**: Oracle AI Speech Service integration for enhanced speech recognition
17+
18+
## Key Features
19+
20+
**🎨 Professional Showcase Capabilities**
21+
22+
- Multi-project management (up to 8 branded configurations)
23+
- Instant theme switching for client demonstrations
24+
- Custom branding with logos, colors, and backgrounds
25+
- Lightning-fast project setup (under 30 seconds)
26+
27+
**🎤 Enterprise Speech Integration**
28+
29+
- Dual speech options: Browser native or Oracle AI Speech Service
30+
- **Multilingual Support**: 50+ languages including Spanish, French, German, Chinese, Japanese, Arabic, and more
31+
- Real-time speech-to-text with enterprise-grade accuracy
32+
- Automatic text-to-speech using Oracle Digital Assistant's TTS
33+
- Seamless voice conversation flow
34+
35+
**💬 Rich Chat Experience**
36+
37+
- Full markdown support for formatted responses
38+
- File attachment support (images and PDFs)
39+
- Real-time WebSocket communication
40+
- Responsive design across all devices
41+
42+
**🔒 Privacy & Security**
43+
44+
- Client data stored locally (localStorage)
45+
- No server dependencies for configuration data
46+
- Secure Oracle Cloud authentication
47+
- Complete client data isolation
48+
49+
## Architecture
50+
51+
The solution consists of two complementary components:
52+
53+
### Frontend (React/Next.js)
54+
55+
- Multi-tenant chat interface
56+
- Dynamic theming system
57+
- Oracle Digital Assistant WebSDK integration
58+
- Speech recognition interface
59+
60+
### Backend (Node.js/Express)
61+
62+
- Oracle AI Speech Service WebSocket proxy
63+
- **Multilingual speech recognition** (50+ languages via Whisper technology)
64+
- Real-time audio processing pipeline
65+
- FFmpeg audio format conversion
66+
- Secure Oracle Cloud authentication
67+
68+
## Quick Start
69+
70+
### Option 1: Frontend Only
71+
72+
Basic setup with browser speech recognition:
73+
74+
```bash
75+
cd files/frontend/
76+
npm install
77+
cp .env.example .env.local
78+
# Configure your Oracle Digital Assistant credentials
79+
npm run dev
80+
```
81+
82+
### Option 2: Full Stack (Recommended)
83+
84+
Complete setup with Oracle AI Speech Service:
85+
86+
```bash
87+
# Start backend
88+
cd files/backend/
89+
npm install
90+
cp .env.example .env
91+
# Configure Oracle Cloud credentials
92+
npm start
93+
94+
# Start frontend (in new terminal)
95+
cd files/frontend/
96+
npm install
97+
cp .env.example .env.local
98+
# Configure Oracle Digital Assistant + Speech Service URL
99+
npm run dev
100+
```
101+
102+
## Configuration
103+
104+
### Oracle Digital Assistant Setup
105+
106+
1. Create a Web channel in your Oracle Digital Assistant
107+
2. Note the Channel ID and URI
108+
3. Configure in frontend `.env.local`
109+
110+
### Oracle AI Speech Service Setup (Optional)
111+
112+
1. Enable AI Speech Service in Oracle Cloud Infrastructure
113+
2. Generate API credentials
114+
3. Configure in backend `.env`
115+
116+
Detailed setup instructions are available in each component's README.
117+
118+
## Use Cases
119+
120+
**Sales Demonstrations**
121+
122+
- Quickly switch between different client brand themes
123+
- Showcase Oracle Digital Assistant capabilities
124+
- Professional presentation-ready interface
125+
126+
**Development & Testing**
127+
128+
- Rapid prototyping with multiple configurations
129+
- A/B testing different chat experiences
130+
- Integration testing with Oracle services
131+
132+
**Production Deployments**
133+
134+
- Enterprise-ready speech recognition
135+
- Scalable WebSocket architecture
136+
- Secure credential management
137+
138+
## Components
139+
140+
- **Frontend**: [`files/frontend/`](files/frontend/) - Complete React chat interface
141+
- **Backend**: [`files/backend/`](files/backend/) - Oracle AI Speech Service integration
142+
143+
## Technology Stack
144+
145+
**Frontend**: Next.js 15, React 19, Material-UI, Framer Motion, Oracle WebSDK
146+
**Backend**: Node.js, Express, WebSocket, Oracle AI Speech SDK, FFmpeg
147+
148+
## Browser Requirements
149+
150+
- Modern browser with WebSocket support
151+
- Web Speech API (for browser speech mode)
152+
- LocalStorage for project persistence
153+
154+
## License
155+
156+
Copyright (c) 2025 Oracle and/or its affiliates.
157+
158+
Licensed under the Universal Permissive License v1.0.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Copyright (c) 2025 Oracle and/or its affiliates.
2+
3+
The Universal Permissive License (UPL), Version 1.0
4+
5+
Subject to the condition set forth below, permission is hereby granted to any
6+
person obtaining a copy of this software, associated documentation and/or data
7+
(collectively the "Software"), free of charge and under any and all copyright
8+
rights in the Software, and any and all patent rights owned or freely
9+
licensable by each licensor hereunder covering either (i) the unmodified
10+
Software as contributed to or provided by such licensor, or (ii) the Larger
11+
Works (as defined below), to deal in both
12+
13+
(a) the Software, and
14+
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
15+
one is included with the Software (each a "Larger Work" to which the Software
16+
is contributed by such licensors),
17+
18+
without restriction, including without limitation the rights to copy, create
19+
derivative works of, display, perform, and distribute the Software and make,
20+
use, sell, offer for sale, import, export, have made, and have sold the
21+
Software and the Larger Work(s), and to sublicense the foregoing rights on
22+
either these or other terms.
23+
24+
This license is subject to the following condition:
25+
The above copyright notice and either this complete permission notice or at
26+
a minimum a reference to the UPL must be included in all copies or
27+
substantial portions of the Software.
28+
29+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
35+
SOFTWARE.

0 commit comments

Comments
 (0)