āĻŦāĻžāĻāϞāĻžāĻĻā§āĻļā§āϰ āϏā§āϰāĻž āĻāύā§āϏāĻā§āϝāĻžāύā§āĻ āϏāĻžāĻāύā§āĻĄ āĻŦā§āϰā§āĻĄ â Firebase āĻĻā§āĻŦāĻžāϰāĻž āĻāĻžāϞāĻŋāϤāĨ¤
npm install
.env.example āĻĢāĻžāĻāϞāĻāĻŋ āĻāĻĒāĻŋ āĻāϰ⧠.env āύāĻžāĻŽ āĻĻāĻŋāύ:
cp .env.example .env
āϤāĻžāϰāĻĒāϰ āĻāĻĒāύāĻžāϰ Firebase āĻāύāĻĢāĻŋāĻ āĻĻāĻŋāϝāĻŧā§ .env āĻĢāĻžāĻāϞ āĻĒā§āϰāĻŖ āĻāϰā§āύāĨ¤
Firestore Database:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /sounds/{soundId} {
allow read: if true;
allow write: if true; // āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύ⧠auth āϝā§āĻā§āϤ āĻāϰā§āύ
}
}
}
Firebase Storage:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /sounds/{allPaths=**} {
allow read: if true;
allow write: if request.resource.size < 10 * 1024 * 1024
&& request.resource.contentType.matches('audio/.*');
}
}
}
npm start
npm run build
soundboard-bd/
âââ .env â Firebase keys (āĻā§āĻĒāύ āϰāĻžāĻā§āύ!)
âââ .env.example â āĻā§āĻŽāĻĒā§āϞā§āĻ
âââ .gitignore
âââ package.json
âââ public/
â âââ index.html
âââ src/
âââ firebase.js â Firebase config (.env āĻĨā§āĻā§ āϞā§āĻĄ)
âââ App.js â āĻŽā§āĻāύ āĻāĻŽā§āĻĒā§āύā§āύā§āĻ
âââ App.css â āϏā§āĻāĻžāĻāϞ
âââ index.js â āĻāύā§āĻā§āϰāĻŋ āĻĒāϝāĻŧā§āύā§āĻ
.env āĻĢāĻžāĻāϞ āĻāĻāύ⧠GitHub-āĻ push āĻāϰāĻŦā§āύ āύāĻž.gitignore-āĻ .env āϝā§āĻā§āϤ āĻāĻā§ āĻāĻŋāύāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āύ