The foundation of the frontend for this application are React and Redux together with Material UI as the UI framework.
Firebase is used as a flexible and scalable backend. Cloud functions serve as a REST interface, which provides access to user authentication, storage and the database.
- Clone this repository
- Go to Firebase directory and do
npm install
- Create a new Firebase project
- Edit .firebaserc and config.js to match your Firebase config (How to download Firebase config file)
- Deploy to Firebase via Firebase CLI with
firebase deploy
Should problems occur, a local project can alternatively be initialized via Firebase CLI first. Then simply insert the folders handlers and util, as well as the index.js and package.json. More info in the Firebase CLI Docs.
- Go to Frontend directory and do
npm install
- Go to package.json and change
proxy
to your Firebase API endpoint - Go to App.js and change
axios.defaults.baseURL
to your Firebase API endpoint - Start local server via
npm start
. A browser window pointing to http://localhost:3000/ should automatically open. - Done :)
- Create, like and comment on posts
- Personal user profile consisting of user name, picture, bio, location and website
- Notifications if someone liked or commented on your post
Expand a post to see and create comments
While data is fetched a loading skeleton is shown instead of an empty page
A big part of this project is based on the Full Stack React & Firebase series by Classed/Hidjou. If you are interested in different tutorials in the area of web, please have a look at his channel!