This is a user portal created for FOCUS Youth Organization, a Canadian charity that I founded back in grade 9. The portal is used to validate FOCUS Youth active members and allow executives, volunteers, and tutors, to log their volunteer hours. The user portal is a full-stack (MERN) app; using Vercel to host the React client, and Heroku for the NodeJS server.
Full-Stack (MERN) App Features:
About the user portal: The user portal uses MongoDB atlas to store user information. One collection stores user data (email, name, password, role, etc.) while another collection stores all the volunteer hour date (description, duration, approvel, etc.)
The backend NodeJS server is hosted on Heroku, and the frontend React app is hosted on Vercel and can be accessed at portal.focusyouth.ca Express is used as the routing and middleware for GET and POST methods from the React client to the NodeJS server.
User authentication is handled using JSONWebTokens sent from the server-side to the client-side webpage.
View live site:
Sign-Up Page (for new users):
Log-In Page (for existing users):
User List (list of all FOCUS Youth members or volunteers):
View Volunteer Hours (view, edit, and add new volunteer hours):
Create a New User (for portal admins only):
Update a User (for portal admins only):