About This App

This is a user authentication system built with Node.js, Express, and Passport.js. It allows users to log in using their GitHub account or predefined user credentials.

How to Use

  1. If you are not logged in, click the "Login" button to log in with your GitHub account or predefined user credentials.
  2. Once logged in, you will be redirected to the dashboard where you can access your account details.
  3. If you are already logged in, click the "Dashboard" button to access your account details.

Predefined Users

The following predefined users are available for testing:

  • Jimmy Smith (User) - Email: jimmy123@gmail.com, Password: jimmy123!
  • Johnny Doe (User) - Email: johnny123@gmail.com, Password: johnny123!
  • Jonathan Chen (Admin) - Email: jonathan123@gmail.com, Password: jonathan123!

To access admin capabilities, log in with the admin user credentials.

Features

  • Secure authentication using GitHub OAuth.
  • Session management with Express sessions.
  • Flash messages for user feedback.
  • Admin Features
    • View and manage all user sessions.
    • Invoke or terminate user sessions.
    • Access detailed user activity logs.

Technologies Used

  • Node.js
  • Express.js
  • Passport.js
  • EJS (Embedded JavaScript templates)