This commit centralizes Gemini API interaction into a new `server.ts` file and removes it from the client-side `geminiService.ts`.
It also updates the build process in `package.json` to use `esbuild` for bundling the server code, enabling a more robust build pipeline.
The `index.html` has been cleaned up by removing unnecessary OneSignal SDK initialization.
Additionally, dev dependencies have been updated, including `esbuild` to version `0.28.0`.
A new `test2.ts` file is added for testing Gemini API connectivity.
This commit introduces shadcn/ui for enhanced component management and updates global styling. It also adds new dependencies for UI components and typography, improving the overall look and feel of the application. Key changes include:
- Integration of shadcn/ui for component development.
- Application of Geist Variable font and updated CSS variables for theming.
- Inclusion of `embla-carousel` for improved testimonial display.
- Refinement of `index.css` for better styling consistency.
- Updated `tsconfig.json` and `vite.config.ts` for alias configurations.
Introduces unit tests for Firestore security rules and adds error handling to data fetching hooks. This enhances the robustness and security of the application by validating access control logic and providing feedback on data retrieval failures.
Includes:
- Setup for Firestore unit testing.
- Basic tests for signal query and user collection access.
- Error logging for `testimonials` and `notifications` data fetching.
- Updates to `firestore.rules` for stricter access checks.
- Adds necessary development dependencies for testing.
Set up the basic React project structure, including necessary dependencies, configuration files, and initial styling for the QuantScan AI Forex Pro scanner. This commit establishes the foundation for building the frontend application.