{"id":14988560,"url":"https://github.com/createthrive/react-firebase-admin","last_synced_at":"2025-04-05T08:07:36.491Z","repository":{"id":36964725,"uuid":"243522663","full_name":"CreateThrive/react-firebase-admin","owner":"CreateThrive","description":"React ⚛️ starter kit with Firebase 🔥 and Bulma for setting up an admin dashboard - Highly scalable, PWA, Serverless","archived":false,"fork":false,"pushed_at":"2023-03-06T17:28:28.000Z","size":4223,"stargazers_count":416,"open_issues_count":43,"forks_count":98,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-05T08:07:30.259Z","etag":null,"topics":["admin-dashboard","boilerplate","bulma","cloud-functions","firebase","firebase-account","firebase-admin","firebase-dashboard","offline","pwa","react","realtime-database","redux","responsive","routing","serverless","starter-kit","template","typescript","workflows"],"latest_commit_sha":null,"homepage":"https://docs.react-firebase.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CreateThrive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-02-27T13:12:29.000Z","updated_at":"2025-03-28T18:45:07.000Z","dependencies_parsed_at":"2023-02-12T21:15:55.542Z","dependency_job_id":"207497a1-5975-4b54-a3f6-355bf3340497","html_url":"https://github.com/CreateThrive/react-firebase-admin","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreateThrive%2Freact-firebase-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreateThrive%2Freact-firebase-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreateThrive%2Freact-firebase-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CreateThrive%2Freact-firebase-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CreateThrive","download_url":"https://codeload.github.com/CreateThrive/react-firebase-admin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305934,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-dashboard","boilerplate","bulma","cloud-functions","firebase","firebase-account","firebase-admin","firebase-dashboard","offline","pwa","react","realtime-database","redux","responsive","routing","serverless","starter-kit","template","typescript","workflows"],"created_at":"2024-09-24T14:16:56.277Z","updated_at":"2025-04-05T08:07:36.461Z","avatar_url":"https://github.com/CreateThrive.png","language":"JavaScript","readme":"# React Firebase Admin ⚛️ 🚀\n\n![ci](https://github.com/CreateThrive/react-firebase-admin/workflows/ci/badge.svg?branch=master)\n[![license: MIT](https://badgen.net/github/license/micromatch/micromatch)](https://github.com/CreateThrive/react-firebase-admin/blob/feature/badges-rename-workflows/LICENSE.md)\n\nBoilerplate with React ⚛️ and Firebase 🔥designed to quickly spin up a fully functional admin dashboard with authentication, authorization, Realtime Database / Firestore, built-in CI/CD, file upload and more. We're using up to date industry standards and next-gen technologies like React (with hooks), redux, bulma, sass, webpack, routing and a serverless architecture.\n\n![Boilerplate - Users page](https://imgur.com/7jIt6jh.png)\n\n---\n\n## Table of Contents\n\n\u003c!-- To update this table of contents, ensure you have run `npm install` then `npm run doctoc` --\u003e\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [What is this?](#what-is-this)\n- [Why should I use it?](#why-should-i-use-it)\n- [Features](#features)\n- [Tech Stack](#tech-stack)\n  - [Core](#core)\n  - [Unit Testing](#unit-testing)\n  - [Linting](#linting)\n  - [Cloud functions](#cloud-functions)\n  - [Unit Testing](#unit-testing-1)\n- [Prerequisites](#prerequisites)\n- [Documentation](#documentation)\n- [Demo](#demo)\n- [Contributors](#contributors)\n- [License](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n---\n\nThis project is using a customized version ported into React of the [Admin Dashboard Template](https://github.com/vikdiesel/admin-one-bulma-dashboard) made by [Viktor Kuzhelny](https://github.com/vikdiesel).\n\n## What is this?\n\nReact Firebase Admin is our in-house admin dashboard boilerplate, used in many of our software projects here at [CreateThrive](https://createthrive.com/). After months of hard work, we decided to make it public and support the open source community.\n\n## Why should I use it?\n\n- This project was bootstrapped with CRA (Create React App), this means it comes with all the good features we all know and love such as built-in scripts, to make our app a PWA (Progressive Web App) and much more!.\n- It is customizable.\n- It uses Firebase.\n- It has all the basic features you want in your app.\n- It is easy to use.\n\n## Features\n\n- Bulma CSS framework (Mobile friendly 🔥)\n- Redux implementation\n- Firebase/Redux implementation\n- Authentication \u0026 authorization\n- Pick between Realtime Database and Firestore\n- Create/modify/delete users\n- Automatic email invitation to new users\n- Image uploading\n- Change/Reset Password built into the dasbhoard.\n- User filtering and search\n- Built-in CI (Continous integration)\n- Built-in CD (Continous deployment)\n- PWA ready thanks to CRA and Firebase\n- Multi-tenancy\n- Internationalization (English/Spanish)\n- Ability to choose between Firebase Realtime Database or Firestore\n\n## Tech Stack\n\n### Core\n\n- [Create React App](https://github.com/facebook/create-react-app) (★ 76.5k) this project was bootstrapped with create react app (see [user guide](https://create-react-app.dev/docs/getting-started)).\n- [Bulma](https://bulma.io/) (★ 38.7k) CSS framework to reduce development time and have a nice UI.\n- [Redux](https://redux.js.org/) (★ 52.4k) for in-app state management (see [docs](https://redux.js.org/introduction/getting-started)).\n- [React-redux](https://react-redux.js.org/) (★ 19k) official react bindings for redux (see [docs](https://react-redux.js.org/introduction/quick-start)).\n- [Redux-act](https://github.com/pauldijou/redux-act) (★ 1.4k) opinionated library to create actions and reducers.\n- [Redux-thunk](https://github.com/reduxjs/redux-thunk) (★ 14.1k) redux [middleware](https://redux.js.org/advanced/middleware) for asynchronous actions.\n- [Redux-persist](https://github.com/rt2zz/redux-persist) (★ 9.8k) persists store state between sessions.\n- [React-redux-toastr](https://github.com/diegoddox/react-redux-toastr) (★ 703) a toastr message implemented with Redux.\n- [React-router](https://github.com/ReactTraining/react-router) (★ 39.6k) declarative routing for React.\n- [Prop-Types](https://reactjs.org/docs/typechecking-with-proptypes.html) (★ 3.4k) typechecking for react component props.\n- [Classnames](https://github.com/JedWatson/classnames) (★ 11.9k) a simple javascript utility for conditionally joining classNames together.\n- [React-datepicker](https://github.com/Hacker0x01/react-datepicker) (★ 4.5k) a simple and reusable datepicker component for React.\n- [React-table](https://github.com/tannerlinsley/react-table) (★ 9.6k) hooks for building fast and extendable tables and datagrids for React.\n- [React-spinners](https://github.com/davidhu2000/react-spinners) (★ 1.2k) a collection of loading spinner components for React.\n- [Firebase](https://firebase.google.com/) for serverless architecture - CDN Hosting, Realtime Database, Authentication, Storage and Cloud Functions (see [docs](https://firebase.google.com/docs/web)).\n- [FirebaseUI-web-react](https://github.com/firebase/firebaseui-web-react) (★ 732) social media authentication library.\n- [Format.js](https://formatjs.io/) (★ 11.7k) libraries for internationalization (see [docs](https://formatjs.io/docs/basic-internationalization-principles)).\n- [date-fns](https://date-fns.org/) (★ 22.3k) date utility library (see [docs](https://date-fns.org/docs/Getting-Started)).\n- [cross-env](https://github.com/kentcdodds/cross-env) (★ 4.9k) run scripts that set and use environment variables across platforms (see [docs](https://www.npmjs.com/package/cross-env)).\n- [React Hook Form](https://github.com/react-hook-form/react-hook-form) (★ 14.6k) Performant, flexible and extensible forms with easy to use validation.\n- [yup](https://github.com/jquense/yup) (★ 11k) schema builder for value parsing and validation.\n- [Inquirer](https://github.com/SBoudrias/Inquirer.js/) (★ 12.2k) A collection of common interactive command line user interfaces (see [docs](https://github.com/SBoudrias/Inquirer.js/#documentation)).\n\n### Unit Testing\n\n- [Jest](https://jestjs.io/) (★ 29.9k) as testing framework (see [docs](https://jestjs.io/docs/en/getting-started)).\n- [React Testing Library](https://testing-library.com/docs/react-testing-library/intro) (★ 12.7k) to test react components in Jest.\n- [Redux-mock-store](https://github.com/dmitry-zaets/redux-mock-store) (★ 2.1k) to test redux actions, reducers and store state in Jest.\n\n### Linting\n\n- [ESLint](https://eslint.org/) (★ 15.9k) configured to follow the coding style of [Airbnb](https://github.com/airbnb/javascript).\n- [Prettier](https://prettier.io/) (★ 35.5k) as code formatter.\n- [Lint-staged](https://github.com/okonet/lint-staged) (★ 6.5k) run linters on git staged files.\n\n### Cloud functions\n\n- [Firebase-admin](https://github.com/firebase/firebase-admin-node) (★ 790) Firebase Admin Node.js SDK.\n- [Firebase-functions](https://github.com/firebase/firebase-functions) (★ 658) Firebase SDK for Cloud Functions.\n- [Typescript](https://github.com/Microsoft/TypeScript) (★ 61.1k) TypeScript is a superset of JavaScript that compiles to clean JavaScript output.\n- [TSlint](https://github.com/palantir/tslint) (★ 5.8k) An extensible linter for the TypeScript language.\n- [Firebase-function-tools](https://github.com/TarikHuber/react-most-wanted) (★ 780) a tool for naming and loading our Cloud Functions.\n- [Glob](https://github.com/isaacs/node-glob) (★ 6.2k) glob functionality for Node.js.\n- [Camelcase](https://github.com/sindresorhus/camelcase) (★ 423) convert a dash/dot/underscore/space separated string to camelCase.\n- [Resize Image](https://github.com/firebase/extensions/tree/master/storage-resize-images) (★ 372) Firebase Extension to create resized versions of images uploaded to Cloud Storage.\n\n#### Unit Testing\n\n- [Firebase-functions-test](https://github.com/firebase/firebase-functions-test) (★ 117) unit testing library for Cloud Functions for Firebase.\n- [Mocha](https://github.com/mochajs/mocha) (★ 19.4k) simple, flexible, fun javascript test framework for node.js \u0026 the browser.\n- [Chai](https://github.com/chaijs/chai) (★ 6.8k) BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.\n- [Chai-as-promised](https://github.com/domenic/chai-as-promised/) (★ 1.4k) Extends Chai with assertions about promises.\n- [Ts-node](https://github.com/TypeStrong/ts-node) (★ 7k) TypeScript execution and REPL for node.js, with source map support.\n\n## Prerequisites\n\n- [Firebase](https://firebase.google.com/) account in order to set up the serverless BaaS for the project.\n- [Node.js](https://nodejs.org/) v12.15.0 or higher (React frontend) and v10.0.0 (Cloud Functions) (You can install them using [NVM](https://github.com/nvm-sh/nvm)).\n- [VSCode](https://code.visualstudio.com/) editor (preferred) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint), [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) and [Babel JavaScript ](https://marketplace.visualstudio.com/items?itemName=mgmcdermott.vscode-language-babel) plug-ins.\n\nYou also need to be familiar with [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML), [CSS](https://developer.mozilla.org/en-US/docs/Web/CSS), [SASS](https://sass-lang.com/), [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) ([ES2015](http://babeljs.io/learn-es2015/)) and [React](https://reactjs.org/) with [React Hooks](https://reactjs.org/docs/hooks-intro.html).\n\n## Documentation\n\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/\"\u003eIntroduction\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/getting-started\"\u003eGetting Started\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/getting-started#react-frontend\"\u003eReact Frontend\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/getting-started/cloud-functions\"\u003eCloud Functions\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/getting-started/continuous-integration-deployment\"\u003eCI/CD\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/features/database-interface\"\u003eDatabase Selection\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/features/internationalization\"\u003eInternationalization\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/features/file-upload\"\u003eFile Upload\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://docs.react-firebase.com/features/social-media-authentication\"\u003eSocial Media Authentication\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n## Demo\n\nFor requesting access to the \u003ca href=\"https://react-firebase.com/\"\u003edemo site\u003c/a\u003e please \u003ca href=\"https://createthrive.com/contact\"\u003econtact us\u003c/a\u003e.\n\n## Contributors\n\nWe'd like to thank these awesome people who made this whole thing happen:\n\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https://github.com/MateoKruk\"\u003eMateo Kruk\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://github.com/tpiaggio\"\u003eTomas Piaggio\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://github.com/jbheber\"\u003eJuan Heber\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://github.com/vikdiesel\"\u003eViktor Kuzhelny\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://github.com/TOPOFGR\"\u003eFranco Galeano\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://github.com/jfocco\"\u003eJuan Focco\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n## License\n\nThis project is licensed under the MIT license, Copyright (c) 2020 \u003ca href=\"https://createthrive.com\"\u003eCreateThrive\u003c/a\u003e. For more information see LICENSE.md.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreatethrive%2Freact-firebase-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcreatethrive%2Freact-firebase-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcreatethrive%2Freact-firebase-admin/lists"}