📙 About 🖼️ Preview 📖 How to Start 💡 Features 💻 Technologies
Letmeask is a project developed for content creators to create Q&A rooms in a more organized and democratic way, helping the host to find more relevant questions faster
This project used Firebase for deployment.
Originally created on Next Level Week Together #6 and made by Kenji Iwatani
# Clone this repository
$ git clone https://github.com/iwataniKenji/letmeask.git
# Access the project directory
$ cd letmeask
It's required a Firebase account and a project created to provide a Realtime Database
# Set authentication option on your firebase project
authentication → get started → google
# Set realtime database on your firebase project
realtime database → create database → locked mode
# Paste this code on your realtime database rules
{
"rules": {
"rooms": {
".read": false,
".write": "auth != null",
"$roomId": {
".read": true,
".write": "auth != null && (!data.exists() || data.child('authorId').val() == auth.id)",
"questions": {
".read": true,
".write": "auth != null && (!data.exists() || data.parent().child('authorId').val() == auth.id)",
"likes": {
".read": true,
".write": "auth != null && (!data.exists() || data.child('authorId').val() == auth.id)"
}
}
}
}
}
}
# Set your firebase config
project overview → web → insert firebaseConfig code on ".env.example" file
# Rename the config file
$ ren ".env.example" ".env.local"
# Install dependencies
$ yarn
# Initialize and open local host
$ yarn start
- Google authentication
- Navigation between pages
- Database usage
- Creating, joining and closing rooms
- "Copy room code to clipboard" button
- Separated admin and user events
- Question buttons (like, answered, highlight, remove)