Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iwatanikenji/letmeask
Application that gathers and orders questions to make easier the use for the content creator host
https://github.com/iwatanikenji/letmeask
admin-user-login context firebase google-auth react rocketseat typescript
Last synced: about 2 months ago
JSON representation
Application that gathers and orders questions to make easier the use for the content creator host
- Host: GitHub
- URL: https://github.com/iwatanikenji/letmeask
- Owner: iwataniKenji
- Created: 2022-02-28T21:55:43.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2022-05-25T16:45:20.000Z (over 2 years ago)
- Last Synced: 2024-11-05T15:13:16.237Z (3 months ago)
- Topics: admin-user-login, context, firebase, google-auth, react, rocketseat, typescript
- Language: TypeScript
- Homepage: https://letmeask-c10c3.web.app/
- Size: 1.25 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Summary
📙 About
🖼️ Preview
📖 How to Start
💡 Features
💻 Technologies
✔️ Letmeask project finished ✔️📙 About
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
Check website →
---
🖼️ Preview
---
📖 How to Start
Starting this repository:
```bash
# Clone this repository
$ git clone https://github.com/iwataniKenji/letmeask.git# Access the project directory
$ cd letmeask
```Creating and setting the project on firebase:
It's required a Firebase account and a project created to provide a Realtime Database
```bash
# 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
```Running the application:
```bash
# Rename the config file
$ ren ".env.example" ".env.local"# Install dependencies
$ yarn# Initialize and open local host
$ yarn start
```---
💡 Features
- [x] Google authentication
- [x] Navigation between pages
- [x] Database usage
- [x] Creating, joining and closing rooms
- [x] "Copy room code to clipboard" button
- [x] Separated admin and user events
- [x] Question buttons (like, answered, highlight, remove)---
💻 Technologies
- [x] Typescript
- [x] React
- [x] Firebase