Skip to content
Β 
Β 

Repository files navigation

🌟 NexaSphere

Official Community Platform β€” GL Bajaj Group of Institutions, Mathura

Connecting students with opportunities across Tech and Non-Tech domains through an integrated digital ecosystem


NexaSphere homepage preview



πŸ”— Quick Access

Resource Link
🌐 Live Website https://nexa-sphere-sigma.vercel.app/
πŸ”‘ Admin Dashboard https://admin-nexasphere.vercel.app
πŸ“§ Contact nexasphere@glbajajgroup.org
πŸ’Ό Institution GL Bajaj Group of Institutions, Mathura


πŸš€ Technology Stack

Modern, scalable architecture built with industry-leading technologies:


Frontend Layer

⚑ React 18 + Vite 5

🎨 Vanilla CSS with Advanced Motion

πŸ“¦ Vercel Hosting

Backend Layer

β˜• Java 17 + Spring Boot 3

🐍 Python 3.11 + FastAPI

πŸš€ Railway / Render / Fly.io

Database

πŸ—„οΈ PostgreSQL (Production)

πŸ’Ύ H2 (Development)

πŸ“Š Supabase Integration

Services

πŸ“ Google Sheets Integration

πŸ” JWT Authentication

πŸ”„ Real-time Updates



πŸ“ Project Architecture

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


πŸ› οΈ Local Development Setup

βœ… Prerequisites

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)

🎯 Step 1: Frontend Setup


Clone and Install:

cd nexasphere
npm install
npm run dev

▢️ Access: http://localhost:5173


πŸ“‹ Environment Variables (.env.local):

VITE_API_BASE=http://localhost:8080


β˜• Step 2: Java Backend Setup


Build and Run:

cd server-java
mvn clean install
mvn spring-boot:run

▢️ Access: http://localhost:8080


πŸ“‹ 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=yourpassword


🐍 Step 3: Python Forms Service


Setup 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

▢️ Access: http://localhost: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,https://nexasphere-glbajaj.vercel.app


πŸ‘¨β€πŸ’Ό Step 4: Admin Dashboard


Install and Run:

cd admin-dashboard
npm install
npm run dev

▢️ Access: http://localhost:5174


πŸ“‹ Environment Variables (.env.local):

VITE_API_BASE=http://localhost:8080


🌐 API Documentation

πŸ”“ Public Endpoints (No Authentication)


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

πŸ” Protected Endpoints (Admin Only)


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 Dashboard Features


πŸ“Š Event Management

  • βœ“ Create new events
  • βœ“ Edit event details
  • βœ“ Delete events
  • βœ“ Real-time updates

🎯 Activity Events

  • βœ“ Manage 8 activity categories
  • βœ“ Hackathon, Codathon, Ideathon
  • βœ“ Workshops & Insight Sessions
  • βœ“ Open Source Day & Tech Debate

πŸ‘₯ Team Management

  • βœ“ Add core team members
  • βœ“ Edit member profiles
  • βœ“ Manage roles & contacts
  • βœ“ Remove members

⚑ Real-time Updates

  • βœ“ Event-driven architecture
  • βœ“ No page reloads
  • βœ“ Instant UI synchronization
  • βœ“ Seamless user experience

πŸ”‘ Admin Credentials:



πŸš€ Production Deployment

🌐 Frontend Deployment (Vercel)


  1. Connect Repository: Link GitHub repo to Vercel
  2. Configure Build:
    • Build Command: npm run build
    • Output Directory: dist
  3. Set Environment Variables:
    • VITE_API_BASE=https://your-api-url.railway.app
  4. Deploy and monitor

πŸ“ Live URL: https://nexasphere-glbajaj.vercel.app



πŸ‘¨β€πŸ’Ό Admin Dashboard Deployment (Vercel)


  1. Create Separate Vercel Project from admin-dashboard/ folder
  2. Configure (same as frontend):
    • Build: npm run build
    • Output: dist
    • Env: VITE_API_BASE=https://your-api-url.railway.app

πŸ“ Live URL: https://admin-nexasphere.vercel.app



β˜• Java Backend Deployment (Railway)


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=https://nexasphere-glbajaj.vercel.app,https://admin-nexasphere.vercel.app
DB_URL=jdbc:postgresql://[host]:5432/railway
DB_DRIVER=org.postgresql.Driver
DB_USER=postgres
DB_PASS=[from-dashboard]


🐍 Python Service Deployment


Railway Deployment:

cd server-python
railway init
railway up

Environment Variables: (Same as local .env)




πŸ—„οΈ Database Configuration

πŸ’Ύ Development (H2 In-Memory)

Auto-configured on startup:

  • βœ“ Tables created automatically
  • βœ“ Seed data loaded
  • βœ“ No manual setup required

πŸ—„οΈ Production (PostgreSQL)


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()
);


πŸ§ͺ Testing


React Frontend

npm run test
npm run test:coverage

Java Backend

mvn test
mvn verify

Python Service

pytest
pytest --cov


πŸ“– Documentation

For detailed information about specific components, visit:




🀝 Contributing

This is an internal project for the NexaSphere core team.


Workflow

  1. Clone the repository
  2. Create feature branch: git checkout -b feature/your-feature
  3. Make changes with quality standards
  4. Test thoroughly before submission
  5. Submit pull request for review

πŸ“‹ Code Quality Standards

  • βœ“ No console.log statements
  • βœ“ Functions under 40 lines
  • βœ“ Consistent naming conventions
  • βœ“ Zero unused imports
  • βœ“ Meaningful commit messages
  • βœ“ Comprehensive documentation


πŸ“‹ Project Checklist


Documentation βœ…

  • Complete API documentation
  • Environment variable guides
  • Setup instructions for all services
  • Deployment procedures
  • Database configuration

Infrastructure πŸš€

  • Frontend hosting (Vercel)
  • API backend available
  • Database configured
  • Admin dashboard deployed
  • CORS properly configured

Future Improvements 🎯

  • Architecture diagrams
  • Video tutorials
  • API Swagger documentation
  • Performance monitoring
  • Security audit logs


πŸ“ License & Usage

Internal Project β€” GL Bajaj NexaSphere Core Team
All rights reserved. Not for external distribution.



πŸ“§ Contact & Support


Resource Details
πŸ“§ Email nexasphere@glbajajgroup.org
🏒 Institution GL Bajaj Group of Institutions, Mathura
🌐 Website https://nexa-sphere-sigma.vercel.app
πŸ‘¨β€πŸ’Ό Admin Panel https://admin-nexasphere.vercel.app



Made with ❀️ by NexaSphere Core Team

Version 1.0 | Last Updated: May 2026

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages