Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 34 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,23 +44,48 @@ React guidelines:

### Requirements

- One firebase project for **`open planner`**.
- One Firebase project for **`OpenPlanner`** on the Blaze plan.
- Node.js **20+**
- [Bun.js](https://bun.js.org/) as a build tool

### Installation

1. Create a **`.env`** with **`.env.example`** as a template.
2. Create a web app in your firebase project for **`conference hall`** and **`open planner`**. then copy the config and fill **`.env`** with it.
3. Use [bun.sh](https://bun.sh/) to install dependencies and build the project: `bun install`
1. Create a `.env` from `.env.example`. Do the same for the `.env` files in `functions` .
Comment thread
isalyne34 marked this conversation as resolved.
2. In your Firebase project, create a **web app** with Firebase Hosting named `openplanner`. Copy the generated config and populate `.env`.
For the API URL, create a **Function** named `api` and copy its trigger URL into the env file.
Comment thread
isalyne34 marked this conversation as resolved.
Outdated
3. Create the following **web app**, each with its own Hosting site (replace `X` with your suffix):
- API: Hosting site `apiopenplannerX`
- ConferenceCenter: Hosting site `conferencecenterrX`
- ServiceApi: Hosting site `serviceapiX`
4. Update `firebase.json` so the `site` value matches the correct Hosting site name for the target you are deploying.
Comment thread
isalyne34 marked this conversation as resolved.
Outdated
5. Install dependencies with Bun: `bun install`.

Inside OpenPlanner's firebase project:

1. Enable Authentication with email/pwd in console.firebase.google.com
2. In the Authentication parameters, "User actions", disable the "Protection against enumeration of e-mail addresses (recommended)" option
3. Enable Storage, with rules in test or prod (whatever)
4. Set the hosting config for the website using the firebase CLI: `firebase target:apply hosting conferencecenterr dist`
5. Set the hosting config for the API (swagger) `firebase target:apply hosting apiopenplanner api-swagger`
1. Enable Authentication with email/password (Authentication > Sign-in method > Email/Password > Enable).
2. In Authentication settings, under User actions, disable “Protection against email enumeration (recommended)”.
Comment thread
isalyne34 marked this conversation as resolved.
3. Create Storage (use test or prod rules as needed).
4. Create a Firestore database (default mode).
Comment thread
isalyne34 marked this conversation as resolved.
5. Log in and select the Firebase project in your terminal:

```
firebase login
firebase use openplanner
Comment thread
isalyne34 marked this conversation as resolved.
```
Comment thread
isalyne34 marked this conversation as resolved.

6. Configure hosting targets with the Firebase CLI (adjust names to your actual Hosting sites):

```
firebase target:apply hosting conferencecenterrX dist
firebase target:apply hosting apiopenplannerX api-swagger
firebase target:apply hosting serviceapiX serviceapi-swagger
Comment thread
isalyne34 marked this conversation as resolved.
Outdated
```
Comment thread
isalyne34 marked this conversation as resolved.
Outdated

7. Deploy: `firebase deploy`.

8. Run frontend app : `npm run start`. Your app is available on `http://localhost:3000/` .
Comment thread
isalyne34 marked this conversation as resolved.
Outdated

9. To sign in to the app, create a user in Firebase under Authentication > Users.

### Development

Expand Down
Binary file modified bun.lockb
Binary file not shown.
8 changes: 4 additions & 4 deletions firebase.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
},
"hosting": [
{
"target": "conferencecenterr",
"site": "conferencecenterr2",
"public": "dist",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
Copy link

Copilot AI Jan 26, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hosting config hard-codes a specific Hosting site id ("conferencecenterr2"). Since .firebaserc is gitignored and the repo includes .firebaserc.example targets, committing environment-specific site ids will likely break deploys for other developers/projects. Consider reverting this entry back to using target and rely on firebase target:apply, or make the committed value a generic/default site id that matches the documented setup.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm interessant !
je pense aussi qu'il faut que on trouve une autre solution

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J'ai mis a jour le .firebaserc.example et modifié le firebase.json afin que ce dernier prenne en compte les valeurs présentes dans .firebasrc, les valeurs ne sont ainsi plus hard-codées dans le firebase.json

"rewrites": [
Expand All @@ -30,7 +30,7 @@
]
},
{
"target": "apiopenplanner",
"site": "apiopenplanner2",
"public": "api-swagger",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
Comment thread
isalyne34 marked this conversation as resolved.
Outdated
"rewrites": [
Expand All @@ -44,8 +44,8 @@
]
},
{
"target": "serviceapi",
"public": "api-swagger",
"site": "serviceapi2",
"public": "serviceapi-swagger",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
Comment thread
isalyne34 marked this conversation as resolved.
Outdated
"rewrites": [
{
Expand Down
2 changes: 2 additions & 0 deletions functions/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Empty file added serviceapi-swagger/.empty
Empty file.
Loading