Connecting students with opportunities across Tech and Non-Tech domains through an integrated digital ecosystem
| Resource | Link |
|---|---|
| 🌐 Live Website | |
| 🔑 Admin Dashboard | |
| 📧 Contact | nexasphere@glbajajgroup.org |
| 💼 Institution | GL Bajaj Group of Institutions, Mathura |
Modern, scalable architecture built with industry-leading technologies:
|
⚡ React 18 + Vite 5 🎨 Vanilla CSS with Advanced Motion 📦 Vercel Hosting |
☕ Java 17 + Spring Boot 3 🐍 Python 3.11 + FastAPI 🚀 Railway / Render / Fly.io |
|
🗄️ PostgreSQL (Production) 💾 H2 (Development) 📊 Supabase Integration |
📝 Google Sheets Integration 🔐 JWT Authentication 🔄 Real-time Updates |
nexasphere/
│
├── 📂 src/ ← Main Frontend Application
│ ├── pages/ ← Page Components
│ │ ├── home/
│ │ ├── about/
│ │ ├── activities/
│ │ ├── events/
│ │ ├── team/
│ │ ├── contact/
│ │ ├── membership/
│ │ ├── recruitment/
│ │ └── admin/
│ ├── shared/ ← Reusable Components & Utilities
│ ├── services/ ← API Client Layer
│ ├── styles/ ← Global Stylesheets
│ ├── data/ ← Static Content & Configuration
│ └── App.jsx, main.jsx
│
├── 📂 admin-dashboard/ ← Standalone Admin Application
│ ├── src/
│ │ ├── pages/ ← Admin Pages
│ │ ├── components/ ← Admin Components
│ │ ├── services/ ← API Integration
│ │ └── hooks/ ← Custom React Hooks
│ └── package.json
│
├── 📂 server-java/ ← REST API Backend
│ ├── src/main/java/org/nexasphere/
│ │ ├── controller/ ← REST Endpoints
│ │ ├── service/ ← Business Logic
│ │ ├── model/ ← JPA Entities
│ │ ├── repository/ ← Data Access Layer
│ │ └── config/ ← Spring Configuration
│ ├── pom.xml
│ └── README.md
│
├── 📂 server-python/ ← Forms Microservice
│ ├── routers/ ← API Routes
│ ├── services/ ← Business Logic
│ ├── models/ ← Data Models
│ ├── requirements.txt
│ └── README.md
│
├── Configuration Files
│ ├── package.json
│ ├── vite.config.js
│ ├── vercel.json
│ ├── netlify.toml
│ └── index.html
│
└── README.md ← This File
Make sure you have these installed on your system:
| Tool | Version | Purpose |
|---|---|---|
| Node.js | 20+ | Frontend development & package management |
| Java JDK | 17+ | Java backend compilation & execution |
| Maven | 3.8+ | Java project build tool |
| Python | 3.11+ | Forms service runtime |
| PostgreSQL | Latest | Database (optional for development) |
Clone and Install:
cd nexasphere
npm install
npm run dev📋 Environment Variables (.env.local):
VITE_API_BASE=http://localhost:8080Build and Run:
cd server-java
mvn clean install
mvn spring-boot:run📋 Environment Variables (application.properties):
# Admin Credentials
ADMIN_EMAIL=nexasphere@glbajajgroup.org
ADMIN_PASSWORD=Admin@123
# CORS Configuration
CORS_ORIGIN=http://localhost:5173,https://nexasphere-glbajaj.vercel.app
# Database (Development - H2)
DB_URL=jdbc:h2:mem:nexaspheredb
DB_DRIVER=org.h2.Driver
DB_USER=sa
DB_PASS=For PostgreSQL (Production):
DB_URL=jdbc:postgresql://localhost:5432/nexasphere
DB_DRIVER=org.postgresql.Driver
DB_USER=postgres
DB_PASS=yourpasswordSetup Virtual Environment & Run:
cd server-python
# Create virtual environment
python -m venv venv
# Activate (choose based on your OS)
source venv/bin/activate # macOS/Linux
# OR
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Run development server
uvicorn main:app --reload --port 8000📋 Interactive Docs: http://localhost:8000/docs
📋 Environment Variables (.env):
# Google Cloud Authentication
GOOGLE_PROJECT_ID=your-project-id
GOOGLE_SERVICE_ACCOUNT_EMAIL=your-sa@project.iam.gserviceaccount.com
GOOGLE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
GOOGLE_SHEET_ID=your-sheet-id
# Supabase Configuration
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
# CORS & Server
CORS_ORIGIN=http://localhost:5173,Install and Run:
cd admin-dashboard
npm install
npm run dev📋 Environment Variables (.env.local):
VITE_API_BASE=http://localhost:8080| Method | Endpoint | Description |
|---|---|---|
GET |
/api/content/events |
Fetch all community events |
GET |
/api/content/activity-events/{key} |
Get events by activity type |
GET |
/api/content/core-team |
List all core team members |
POST |
/api/forms/membership |
Submit membership application |
POST |
/api/forms/recruitment |
Submit recruitment application |
POST |
/api/core-team/apply |
Submit core team application |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/admin/events |
Create new event |
PUT |
/api/admin/events/{id} |
Update existing event |
DELETE |
/api/admin/events/{id} |
Delete event |
POST |
/api/admin/core-team |
Create core team member |
PUT |
/api/admin/core-team/{id} |
Update core team member |
DELETE |
/api/admin/core-team/{id} |
Delete core team member |
|
|
|
|
🔑 Admin Credentials:
- Email: nexasphere@glbajajgroup.org
- Password: Admin@123
- Connect Repository: Link GitHub repo to Vercel
- Configure Build:
- Build Command:
npm run build - Output Directory:
dist
- Build Command:
- Set Environment Variables:
VITE_API_BASE=https://your-api-url.railway.app
- Deploy and monitor
📍 Live URL:
- Create Separate Vercel Project from
admin-dashboard/folder - Configure (same as frontend):
- Build:
npm run build - Output:
dist - Env:
VITE_API_BASE=https://your-api-url.railway.app
- Build:
📍 Live URL:
Installation:
npm i -g @railway/cli
railway login
cd server-java
railway init
railway up📋 Production Environment Variables:
ADMIN_EMAIL=nexasphere@glbajajgroup.org
ADMIN_PASSWORD=Admin@123
CORS_ORIGIN=
DB_URL=jdbc:postgresql://[host]:5432/railway
DB_DRIVER=org.postgresql.Driver
DB_USER=postgres
DB_PASS=[from-dashboard]
Railway Deployment:
cd server-python
railway init
railway upEnvironment Variables: (Same as local .env)
Auto-configured on startup:
- ✓ Tables created automatically
- ✓ Seed data loaded
- ✓ No manual setup required
Create Database:
CREATE DATABASE nexasphere;Setup:
- Spring Boot creates tables via JPA
- Seed data loads from
data.sql - Ready for production use
Supabase Tables:
CREATE TABLE membership_forms (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL,
whatsapp VARCHAR(10) NOT NULL,
year VARCHAR(20) NOT NULL,
branch VARCHAR(100) NOT NULL,
section VARCHAR(1) NOT NULL,
reason TEXT,
created_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE recruitment_forms (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL,
whatsapp VARCHAR(10) NOT NULL,
year VARCHAR(20) NOT NULL,
branch VARCHAR(100) NOT NULL,
section VARCHAR(1) NOT NULL,
reason TEXT,
created_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE core_team_applications (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255) NOT NULL,
whatsapp VARCHAR(10) NOT NULL,
year VARCHAR(20) NOT NULL,
branch VARCHAR(100) NOT NULL,
section VARCHAR(1) NOT NULL,
reason TEXT,
created_at TIMESTAMP DEFAULT NOW()
);npm run test
npm run test:coveragemvn test
mvn verifypytest
pytest --covFor detailed information about specific components, visit:
- server-java/README.md — Java backend build, setup, and deployment
- server-python/README.md — Python backend setup and integrations
- admin-dashboard/README.md — Admin dashboard installation
This is an internal project for the NexaSphere core team.
- Clone the repository
- Create feature branch:
git checkout -b feature/your-feature - Make changes with quality standards
- Test thoroughly before submission
- Submit pull request for review
- ✓ No
console.logstatements - ✓ Functions under 40 lines
- ✓ Consistent naming conventions
- ✓ Zero unused imports
- ✓ Meaningful commit messages
- ✓ Comprehensive documentation
- Complete API documentation
- Environment variable guides
- Setup instructions for all services
- Deployment procedures
- Database configuration
- Frontend hosting (Vercel)
- API backend available
- Database configured
- Admin dashboard deployed
- CORS properly configured
- Architecture diagrams
- Video tutorials
- API Swagger documentation
- Performance monitoring
- Security audit logs
Internal Project — GL Bajaj NexaSphere Core Team
All rights reserved. Not for external distribution.
| Resource | Details |
|---|---|
| nexasphere@glbajajgroup.org | |
| 🏢 Institution | GL Bajaj Group of Institutions, Mathura |
| 🌐 Website | https://nexa-sphere-sigma.vercel.app |
| 👨💼 Admin Panel | https://admin-nexasphere.vercel.app |