How keerthivasan-skv/bluestock_intern works
Purpose and Topology
BlueStock is a full-stack IPO-management platform: public users browse IPOs, analytics, broker comparisons, content, and community pages; authenticated staff manage IPO records, companies, documents, and applications. It is a React/Vite SPA backed by a Django REST API and Django admin. The application is nested under IPO-Web-App-main/IPO-Web-App-main/.
Runtime Entry Points
• Frontend bootstraps React from IPO-Web-App-main/IPO-Web-App-main/frontend/src/main.jsx; application composition and routing reside in IPO-Web-App-main/IPO-Web-App-main/frontend/src/App.jsx.
• Django is run through IPO-Web-App-main/IPO-Web-App-main/ipo_backend/manage.py; HTTP deployment entry points are ipo_backend/ipo_backend/wsgi.py and ipo_backend/ipo_backend/asgi.py.
• The backend exposes API routes under /api/v1/, token routes, and Django admin through IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo_backend/urls.py.
Frontend Shell, Navigation, and Identity
The SPA uses React, React Router, Axios, Styled Components, Tailwind configuration, and Framer Motion. AuthProvider owns client-side authentication state; JWTs are stored in browser localStorage. Shared navigation directs users to public feature areas and administration.
• IPO-Web-App-main/IPO-Web-App-main/frontend/src/AuthProvider.jsx
• IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Navabr.jsx
• IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Authontiction/Login.jsx
Public IPO Experience
IPO discovery and analysis are page-oriented UI modules. The IPO section presents listing information; analysis/analytics present market or performance views. Supporting public modules include brokers, blogs, community, sectors, and educational/product pages. These are frontend boundaries; authoritative IPO data should come from the backend API rather than UI state.
• IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/IPO/ipo.jsx
• IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Analysis/Analysis.jsx
• IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Broker/Broker.jsx
Administrative Management Flow
Staff sign in to obtain JWTs, then use administration pages to register, manage, edit, or remove IPO records. The server is the authorization boundary: read operations are public, while mutation requires a valid JWT and is_staff. Django admin is a separate operational interface over the same domain models.
• IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Admin-View/Admin.jsx
• IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Admin-View/ManageIpo.jsx
• IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/admin.py
API and Domain Layer
The Django ipo app defines persistent IPO-domain entities, serializers that shape JSON responses, views that implement REST operations, and app-local URL mappings. Key resources include users/registration, companies, IPOs, documents, applications, and stock data. This layer separates browser clients from database and external-market integration.
• IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/models.py
• IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/serializers.py
• IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/views.py
• IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/urls.py
Persistence, External Data, and Deployment Boundaries
Django migrations establish the IPO schema and application/user evolution. SQLite is the default local persistence option, with settings intended to support configurable MySQL or PostgreSQL. Backend dependencies include Django REST Framework, JWT authentication, nselib for NSE market data, and pandas for processing. CORS, secret key, database connection, hosts, and debug mode are deployment configuration concerns.
• IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/migrations/0001_initial.py
• IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo_backend/settings.py
• IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo_backend/.env.example
Main entry points: urls.py API, token & admin routes · App.jsx App routing · Navabr.jsx Shared navigation · views.py REST operations
Components 20
React SPA
Browser-facing public and staff experience.
- React bootstrap
IPO-Web-App-main/IPO-Web-App-main/frontend/src/main.jsx - App routing
IPO-Web-App-main/IPO-Web-App-main/frontend/src/App.jsx - Auth state · Stores JWTs in browser localStorage.
IPO-Web-App-main/IPO-Web-App-main/frontend/src/AuthProvider.jsx - Shared navigation
IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Navabr.jsx - IPO discovery
IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/IPO/ipo.jsx - Analysis
IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Analysis/Analysis.jsx - Broker comparison
IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Broker/Broker.jsx - Staff login
IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Authontiction/Login.jsx - IPO management
IPO-Web-App-main/IPO-Web-App-main/frontend/src/pages/Admin-View/ManageIpo.jsx
Django Backend
REST API, authorization, and operations.
- Django runtime · Served through management, WSGI, or ASGI entry points.
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/manage.py - API, token & admin routes · Exposes /api/v1/, token routes, and Django admin.
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo_backend/urls.py - Django admin · Separate operational interface over the domain models.
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/admin.py
IPO Domain
IPO resources and persistence mapping.
- REST operations · Public reads; staff JWT required for mutations.
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/views.py - IPO resource routes
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/urls.py - JSON serializers
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/serializers.py - IPO domain models · Users, companies, IPOs, documents, applications, and stock data.
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/models.py
Data & Deployment
Storage, market integration, and runtime configuration.
- Database · SQLite locally; settings support MySQL or PostgreSQL.
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo/migrations/0001_initial.py - NSE market data · nselib data is processed with pandas.
- Deployment settings · CORS, secrets, hosts, debug mode, and database connection.
IPO-Web-App-main/IPO-Web-App-main/ipo_backend/ipo_backend/settings.py
Other components
- Browser users
Connections 24
- Browser users → React bootstrap: loads SPA
- React bootstrap → App routing: mounts
- App routing → Auth state: uses
- App routing → Shared navigation: renders
- Shared navigation → IPO discovery: navigates
- Shared navigation → Analysis: navigates
- Shared navigation → Broker comparison: navigates
- App routing → Staff login: routes staff
- App routing → IPO management: routes staff
- Staff login → Auth state: sets JWT
- IPO discovery → API, token & admin routes: public API requests
- Analysis → API, token & admin routes: public API requests
- Broker comparison → API, token & admin routes: public API requests
- Staff login → API, token & admin routes: token request
- IPO management → API, token & admin routes: JWT mutation requests
- Django runtime → API, token & admin routes: serves
- API, token & admin routes → IPO resource routes: /api/v1/
- IPO resource routes → REST operations: dispatches
- REST operations → JSON serializers: serializes
- REST operations → IPO domain models: reads and mutates
- IPO domain models → Database: persists
- REST operations → NSE market data: retrieves market data
- Django admin → IPO domain models: manages
- Deployment settings → Django runtime: configures