Serverless discussion forum built with React, Redux and Firebase using refire and refire-app.
I challenged myself to build as good forum as possible in 37.5 hours (normal work week hours, but split over multiple weekends and nights in this case), version 1.0 is the result.
Base UI components are from excellent Elemental UI.
https://refire.firebaseapp.com
- Categories, boards and threads
- Paging for boards and threads
- Quoting when replying to posts
- Thread and Post previews
- Markdown support 👍
- Emoji support 🔥
- User profile pages
- Login with Google account
- Admin tools (delete threads & single posts, lock/unlock threads)
-
Create your new app in Firebase dashboard
-
Copy and paste
apiKey
from your Firebase app console'sOverview > Add Firebase to your web app
tosrc/config.js
-
Enable
Google
Authentication in your Firebase app console'sAuth > Sign-in method
settings -
Change
projects.default
value to your app name in.firebaserc
-
Run
npm install
andnpm run build
-
Run
npm run login
to login to Firebase -
Run
npm run bootstrap
to copy the initial data structure to Firebase -
Run
npm run deploy
to deploy the app and security rules to Firebase
npm start
will start the development server on localhost:4000
Create adminUsers
path in your Firebase and set your admin user's uid
as key and true
as value:
"adminUsers": {
"google:123456789": true
}
You can edit default paging settings by changing settings/BOARD_PAGE_SIZE
, settings/THREAD_PAGE_SIZE
and settings/THREAD_PAGE_LIMIT
.
You can configure date format by changing settings/DATE_FORMAT
.
MIT