Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
234 views10 pages

Project Document - IPO WEB APP

The document outlines the development of an IPO web application and REST API by Bluestock Fintech, detailing project objectives, software requirements, and features for both public users and administrators. It emphasizes the importance of quality code, security, and testing, while providing resources and guidelines for interns involved in the project. Additionally, it includes links to design assets and outlines the project structure and deadlines for completion.

Uploaded by

Vinay Bansode
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
234 views10 pages

Project Document - IPO WEB APP

The document outlines the development of an IPO web application and REST API by Bluestock Fintech, detailing project objectives, software requirements, and features for both public users and administrators. It emphasizes the importance of quality code, security, and testing, while providing resources and guidelines for interns involved in the project. Additionally, it includes links to design assets and outlines the project structure and deadlines for completion.

Uploaded by

Vinay Bansode
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Project Document - IPO Web App Development

Workspace Login URL : https://bluestock.in/blueflow/m


Login Details : You will receive over mail
Work Policy : https://bluestock.in/hr/work-policy.html

Project: IPO Web Application & REST API Development


Company: Bluestock Fintech
Website : www.bluestock.in
Mail Id : [email protected]
WA Contact :9225220170
Date: 01/06/2025
Department : #BF-SOFT-DEV

Project Manager - Yash Kale


Mail id - [email protected]
WA No : 9209550273

Important :-
This project documentation is the intellectual property of Bluestock Fintech and must not
be shared, distributed, or disclosed without prior authorization.

Check UI UX Design- https://www.figma.com/design/aNuWMnlnjXdsVgCP350ftH/IPO-Web-


App---M2-J1?node-id=0-1&t=JkmueTInQSBeLW6n-1

Check System Design: - https://www.figma.com/board/


g9bjreevYNJkfMuwRacyaP/System-Design?t=rhom7O3DRl5pdHkG-1

Assets (Logo,SVG, PNG Etc : https://drive.google.com/drive/folders/


1yH9Y_mIqqEkZXtzhqHSuFtEwFOr8BXH5?usp=drive_link

Introduction
This report outlines the production-level software development tasks assigned to
our interns at Bluestock Fintech. The project involves developing an IPO web
application and design REST API for the Bluestock website/app and our clients'
websites/apps. These tasks are designed to enhance the interns' practical
knowledge and contribute to our ongoing projects. Each task aligns with our
company's goals and the interns' skills and career aspirations.

Objective:
Develop a web application and REST API that provides IPO-related information
to the public. The application will display information such as company logo,
name, price band, opening and closing dates, issue size, issue type, listing date,
status, IPO price, listing price, listing gain, current market price (CMP), and
current return. Additionally, it will include downloadable RHP and DRHP PDFs.

Data Source : Add dummy IPO Data in database which shown on upcoming ipo
webpage (refer ui ux design)

Software Requirements
Backend:
● SDK: Python (Version 3.12.3)
● Framework: Django (Version 5.0.6) - `pip install Django`
● API: Django REST Framework (Version 3.15.1) - `pip install
djangorestframework`
● Tools: Postman for API testing, Git & GitHub for version control
Frontend:
● Technologies: HTML, CSS, plain JavaScript (no NodeJS)
● Framework: Bootstrap 5 (via CDN link)
● Database: PostgreSQL
● IDE: Visual Studio Code (VS Code)

1. Prerequisites
Interns are required to familiarize themselves with the following concepts before
starting the project:

What is Stock Market ? - https://youtu.be/Zt6bVL39b9M?si=efZqf77wkWaOrnAQ


What is IPO ? - https://youtu.be/gWrR5qPEmWE?si=QAf19b_i-uSMn3vV

PROJECT FEATURES

Public User Interface:


• Home page: List of IPOs (upcoming, ongoing, listed)
• IPO detail page with full IPO data
• Download RHP & DRHP PDFs
• Search & Filter by status or name

Admin Panel:
• Login-secured interface
• Create, update, delete IPO data
• Upload PDF files (RHP, DRHP)
• Manage logos and all IPO fields

API:
• /api/ipo/ — List IPOs
• /api/ipo/<id>/ — IPO details
• Filtering, search & sort support

This information will be available on both the Bluestock website/app and clients'
websites/apps.

PROJECT STRUCTURE
ipo_project/
├── ipo_app/
│ ├── models.py
│ ├── views.py
│ ├── serializers.py
│ ├── urls.py
│ └── admin.py
├── ipo_project/
│ ├── settings.py
│ ├── urls.py
├── media/ # PDF & logo uploads
├── templates/
│ └── home.html, detail.html, ...
├── static/
├── db.sqlite3 / PostgreSQL
└── manage.py
Development Overview
Important Notes:-
● This is a production-level project; therefore, write quality code and
test features regularly.
● Apply necessary security rules to ensure data protection and
integrity.
● Utilize ChatGPT for testing code, writing features, and designing the
database schema.

1. References

https://youtu.be/s7aINQPGNDM?si=ydfab7GMUaMCg91W

https://www.youtube.com/watch?
v=C1NgOmoOszc&list=PLjVLYmrlmjGcyt3m6rt21nfjhYSWP_Ue_

https://youtu.be/5EY6JFptZgw?si=nwZ5DE7nVc4TXs8X

9.Deadlines

Date Work Status


- Complete All Frontend (Client Side, Admin
Dashboard)
- Complete Entire Project

//Deadline for entire project submission updated in workspace

Submission Guidelines
● Do not commit buggy or error-prone code.
● Thoroughly test your code on your local machine before committing.
● Commit changes to the main branch and push them.
10. Resources for This Project Assets
(Logo,SVG, PNG Etc) :
https://drive.google.com/drive/folders/
11Q6kapopPp4tVn82QKRCX8cpHYHO5GCK?usp=drive_link
(Request Access)

Figma UI/UX Prototype:

Please visit link for complete details -


https://www.figma.com/design/aNuWMnlnjXdsVgCP350ftH/IPO-Web-App---M2-J1?node-
id=0-1&t=JkmueTInQSBeLW6n-1
System Design:
View More: -
https://www.figma.com/board/g9bjreevYNJkfMuwRacyaP/System-Design?node-
id=0-1&p=f
Django Models
from django.db import models

class IPO(models.Model):
STATUS_CHOICES = [
('upcoming', 'Upcoming'),
('ongoing', 'Ongoing'),
('listed', 'Listed'),
]

company_name = models.CharField(max_length=255)
logo = models.ImageField(upload_to='logos/')
price_band = models.CharField(max_length=100)
open_date = models.DateField()
close_date = models.DateField()
issue_size = models.CharField(max_length=100)
issue_type = models.CharField(max_length=100)
listing_date = models.DateField(null=True, blank=True)
status = models.CharField(max_length=20, choices=STATUS_CHOICES)
ipo_price = models.FloatField(null=True, blank=True)
listing_price = models.FloatField(null=True, blank=True)
current_market_price = models.FloatField(null=True, blank=True)
rhp_pdf = models.FileField(upload_to='docs/', null=True, blank=True)
drhp_pdf = models.FileField(upload_to='docs/', null=True, blank=True)

@property
def listing_gain(self):
if self.ipo_price and self.listing_price:
return round(((self.listing_price - self.ipo_price) / self.ipo_price) * 100, 2)
return None

@property
def current_return(self):
if self.ipo_price and self.current_market_price:
return round(((self.current_market_price - self.ipo_price) / self.ipo_price) * 100, 2)
return None

def __str__(self):
return self.company_name

ER Diagram Description:

Entities and Attributes:

1. Companies
○ company_id: INT (Primary Key, Auto-Increment)
○ company_name: VARCHAR(255) (Not Null)
○ company_logo: VARCHAR(255) (URL or file path)
2. IPOs
○ ipo_id: INT (Primary Key, Auto-Increment)
○ company_id: INT (Foreign Key referencing
Companies.company_id)
○ price_band: VARCHAR(50)
○ open_date: DATE
○ close_date: DATE
○ issue_size: VARCHAR(100)
○ issue_type: VARCHAR(50)
○ listing_date: DATE
○ status: ENUM('Upcoming', 'Open', 'Closed', 'Listed')
○ ipo_price: DECIMAL(10,2)
○ listing_price: DECIMAL(10,2)
○ listing_gain: DECIMAL(5,2)
○ current_market_price: DECIMAL(10,2)
○ current_return: DECIMAL(5,2)
3. Documents
○ document_id: INT (Primary Key, Auto-Increment)
○ ipo_id: INT (Foreign Key referencing IPOs.ipo_id)
○ rhp_pdf: VARCHAR(255) (URL or file path)
○ drhp_pdf: VARCHAR(255) (URL or file path)

Relationships:

1. Companies to IPOs
○ Type: One-to-Many
○ Description: One company can have multiple IPOs, but each IPO is
associated with exactly one company.
○ Foreign Key: company_id in IPOs references company_id in
Companies.
○ On Delete: CASCADE (if a company is deleted, all related IPOs are
deleted).
2. IPOs to Documents
○ Type: One-to-Many
○ Description: One IPO can have multiple documents, but each
document is associated with exactly one IPO.
○ Foreign Key: ipo_id in Documents references ipo_id in IPOs.
○ On Delete: CASCADE (if an IPO is deleted, all related documents
are deleted).

You might also like