Skip to content
This repository was archived by the owner on Nov 22, 2024. It is now read-only.

A React app with UI in MUI and express.js backend for hosting the pictures taken during Jain University’s 14th convocation which expected upto 17,000 visitors.

License

Notifications You must be signed in to change notification settings

jeryjs/Jain-Convocation-Portal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jain Convocation Portal

https://jain-convocation-portal.vercel.app/

Test Account Username Password
Regular user TEST006 12345678
Admin ADMIN 12345678

A React app with UI in MUI and Express.js backend for hosting the pictures taken during Jain University’s 14th convocation, which expects up to 17,000 visitors. It handled upto 20 simultaneous requests in a second and served features for Requesting Softcopy and Hardcopy.

Features

  • React Frontend: Built using React and MUI for a modern and responsive UI.
  • Express Backend: Handles API requests and serves the React app.
  • Image Hosting: Upload and managed convocation photos via OneDrive.
  • Scalability: Designed to handle thousands of visitors.
  • Customisable: Provides options for Payment/UPI settings, Firestore Database, OneDrive Folder, etc.

Preview

Login Page Admin Dashboard Sessions Page Gallery Page Instructions Infographic

Installation

Prerequisites

  • Node.js
  • npm

Clone the Repository

git clone https://github.com/jeryjs/Jain-Convocation-Portal.git
cd Jain-Convocation-Portal

Install Dependencies

npm install

cd frontend
npm install

cd ../backend
npm install

Environment Variables Setup

Required Variables

GMAIL_USER=
GMAIL_APP_PASS=
PORT=
ONEDRIVE_SHAREID=
JWT_SECRET=
FIREBASE_ACCOUNT_KEY_JSON=

Step-by-Step Instructions

1. Gmail Configuration
GMAIL_USER=your-email@gmail.com
GMAIL_APP_PASS=xxxx xxxx xxxx xxxx
  1. Use a Gmail account
  2. Enable 2-Factor Authentication
  3. Generate App Password:
    • Go to Google Account Settings > Security
    • Select "App Passwords"
    • Create new app password for "Mail"
    • Copy the 16-character password
2. Port Configuration
PORT=5000
  • Default is 5000
  • Change if port conflicts exist
3. OneDrive Setup
ONEDRIVE_SHAREID=YourShareIdHere
  1. Upload photos to OneDrive folder
  2. Right-click folder > Share
  3. Copy share link
  4. Extract ShareID from URL:
    • Format: https://1drv.ms/f/s!{ShareID}
    • Copy only the {ShareID} part
4. JWT Configuration
JWT_SECRET=your-secret-key
  • Create any secure random string
  • Recommended: Use a password generator
5. Firebase Setup
FIREBASE_ACCOUNT_KEY_JSON={your-firebase-key-json}
  1. Create Firebase project
  2. Go to Project Settings > Service Accounts
  3. Generate New Private Key
  4. Copy entire JSON content
  5. Paste as single line

Note: Store .env in backend folder and never commit to version control.

Usage

Running the Development Server

cd Jain-Convocation-Portal
npm run dev

Navigate to http://localhost:3000 to see the app in action.

Make sure to setup admin/test accounts in the firestore database first.

Hosting

Deploy to Vercel

Deploy with Vercel

Automatic Deployment

  1. Click the "Deploy with Vercel" button above
  2. Connect your GitHub account
  3. Select repository and configure project settings
  4. Vercel will automatically deploy your application

Manual Deployment

  1. Install Vercel CLI:
    npm install -g vercel
  2. Login to Vercel:
    vercel login
  3. Deploy the project:
    vercel

The application will be available at https://your-project.vercel.app

License

This project is licensed under the GNU Affero General Public License v3.0 License - see the LICENSE file for details.

About

A React app with UI in MUI and express.js backend for hosting the pictures taken during Jain University’s 14th convocation which expected upto 17,000 visitors.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages