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.
- 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.





- Node.js
- npm
git clone https://github.com/jeryjs/Jain-Convocation-Portal.git
cd Jain-Convocation-Portal
npm install
cd frontend
npm install
cd ../backend
npm install
GMAIL_USER=
GMAIL_APP_PASS=
PORT=
ONEDRIVE_SHAREID=
JWT_SECRET=
FIREBASE_ACCOUNT_KEY_JSON=
GMAIL_USER=your-email@gmail.com
GMAIL_APP_PASS=xxxx xxxx xxxx xxxx
- Use a Gmail account
- Enable 2-Factor Authentication
- Generate App Password:
- Go to Google Account Settings > Security
- Select "App Passwords"
- Create new app password for "Mail"
- Copy the 16-character password
PORT=5000
- Default is 5000
- Change if port conflicts exist
ONEDRIVE_SHAREID=YourShareIdHere
- Upload photos to OneDrive folder
- Right-click folder > Share
- Copy share link
- Extract ShareID from URL:
- Format:
https://1drv.ms/f/s!{ShareID}
- Copy only the {ShareID} part
- Format:
JWT_SECRET=your-secret-key
- Create any secure random string
- Recommended: Use a password generator
FIREBASE_ACCOUNT_KEY_JSON={your-firebase-key-json}
- Create Firebase project
- Go to Project Settings > Service Accounts
- Generate New Private Key
- Copy entire JSON content
- Paste as single line
Note: Store .env in backend folder and never commit to version control.
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.
- Click the "Deploy with Vercel" button above
- Connect your GitHub account
- Select repository and configure project settings
- Vercel will automatically deploy your application
- Install Vercel CLI:
npm install -g vercel
- Login to Vercel:
vercel login
- Deploy the project:
vercel
The application will be available at https://your-project.vercel.app
This project is licensed under the GNU Affero General Public License v3.0 License - see the LICENSE file for details.