Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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

Letmeask website overview

---

📖 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