This project is a React Authentication App built with Firebase and styled with Material UI. I use the latest version of React to better explore all the new features. The main node packages are React 16, React Router 4, Firebase 4.
This project is mainly focusing on user authentication. Only authorized users are allowed to visit Home and Account page, otherwise anonymous users will be redirect to Sign In page. There’s a list of users shown on the Home page which fetches data from a real-time database provided by Firebase. Any new users will be updated to the page without reloading. When user sign up, they will be asked to choose a role and this user-defined data will also be shown on the Homepage. On Account page, users are allowed to manage their account like resetting their password. On the Sign In page, users not only can sign in with their account info but also could find their password if they forgot.
For future improvement, I’d like to add some functions based on users role. For example, if a user choose the role as student, he/she can view the course information and the teacher for the course.. If the user is a teacher, he/she can view a list of students with their information.
Here is the Github repo for this project. I used github page to deploy this project.