FireBridge provides a comprehensive solution for managing Google Firebase data. It features a user-friendly interface for executing CRUD (Create, Read, Update, Delete) operations on data presented in a tabular format, utilizing Material-UI and React for a responsive experience. The application ensures secure user authentication and leverages Google Firebase for backend data services. With the integration of Electron, FireBridge delivers functionality across a variety of desktop operating systems.
Before you begin, ensure you have met the following requirements:
- You have installed the latest version of Node.js and npm.
- You have a Google Firebase account and have created a Firebase project.
- You have installed Git (optional, for cloning the repository).
Clone the repository to your local machine and install dependencies:
git clone https://github.com/ssstier/firebridge.git
cd firebridge
npm install
To start the application in development mode:
npm start
To run the application as a desktop app with Electron:
npm run build
npm run electron
To use FireBridge with your Google Firebase, you'll need to set up your Firebase project settings. Follow these steps to configure your environment:
- Rename the
firebaseConfig.template.js
file in thesrc
directory tofirebaseConfig.js
. - Go to the Firebase Console.
- Select your project or create a new one if necessary.
- Navigate to 'Project Settings' > 'General' tab.
- Scroll to 'Your apps' and select the Firebase app you are using.
- Click on 'Firebase SDK snippet' and then select 'Config'.
- Copy the config object and replace the placeholder values in
firebaseConfig.js
with your specific Firebase configuration. - Do not commit
firebaseConfig.js
to your repository. Ensure it is listed in your.gitignore
file to prevent exposing your private keys.
Additionally, you'll need to adjust the columns.js
file:
- Align the
columns.js
file in thesrc
directory with your Firebase database schema. - Modify the columns array to match the fields in your Firebase database, ensuring each field has properties such as
id
andlabel
. - Set up the initial submission state. Alter the
initialSubmissionState
object to include keys corresponding to the column IDs with any default values necessary for a new submission.
For the realtime database rules, follow these steps to set up user authentication:
- In the Firebase console, go to the 'Database' section and select the 'Realtime Database' feature.
- Navigate to the 'Rules' tab.
- Here, you can define the rules that control read and write access to your database. Below is an example rule set that allows only authenticated users to read data, while write access is public:
{
"rules": {
".read": "auth != null && auth.uid === '<YOUR-USER-ID>'",
".write": "true"
}
}
Replace with the actual user ID of the admin user to restrict read access. Note that .write is set to true which means that write access is public. This is probably not what you want in a production environment.
FireBridge is free and distributed under the MIT License. You are free to use, modify, and distribute the game according to the terms of this license.