This project was developed during the NLW Together Event by Rocketseat.
It is a simple Question & Answer (aka Q&A) app. Use case: Admin creates a room specifically for a day (or a topic), for example and pass the room ID to the audience.
Audience goes to the main page, insert the code they have and click "Join room". They join the room and can start making questions to the admin.
Basic permissions:
Admin: Answer, highlight and delete questions.
Audience: Send and like questions.
Open a terminal/CLI navigate to the project directory and run:
yarn
or
npm
Yarn/NPM will install dependencies.
Then you can run the app with
yarn start
or
npm start
Open http://localhost:3000 to view it in the browser.
- Created components
- Added modal for confirmations
- Custom Favicon
- Added question timestamp
- Answer question function (auto check as answered)
- Create Modal component and custom styles
- Create user types and permissions (today every authenticated user is an admin)
- Refine styles
- Use other databases
- Create dark mode
- Responsivity
- PWA Version
- Styled Components
- List all active rooms
Used Packages/Components
- React Modal: Accessible modal dialog component for React.JS
- SASS: A pure JavaScript implementation of Sass
- Date-fns: provides the most comprehensive, yet simple and consistent toolset for manipulating JavaScript dates in a browser & Node.js.
- Firebase: Intended for end-user client access from environments such as the Web.
- Google Firebase Main page: provides the tools and infrastructure you need to develop, grow, and earn money from your app. This package supports web (browser), mobile-web, and server (Node.js) clients.
- Classnames: A simple JavaScript utility for conditionally joining classNames together.