FINAL Copy 1
FINAL Copy 1
Submitted by Submitted to
BCA E1
The work presented in this report has not been submitted elsewhere for
any other degree or diploma. The project embodies the result of the
candidate’s own work and has been duly completed under my supervision.
2
Candidate Declaration
I, Devender Kushwaha, hereby declare that the work presented in this project report titled
"Saanjh - A Local Social Media Platform" is the result of my own independent research
and development. I affirm that the project has been carried out by me and has not been
copied from any other source. The information and data presented in this report are
genuine and have not been falsified or fabricated. Any references to existing literature or
other works have been duly acknowledged. This project has been completed under the
guidance and supervision of my project guide, and I take full responsibility for the
content and findings presented in this report.
_________________
Devender Kushwaha
Date: 14/08/2024
3
Acknowledgement
I would like to express my sincere gratitude to all those who supported and guided me
throughout this project.
First and foremost, I extend my heartfelt thanks to Mr. Ravi Sharma for his invaluable
assistance and guidance. His expertise and constructive feedback were instrumental in the
successful completion of this project.
I would like to thank my peers and colleagues for their cooperation and support, and my
family and friends for their unwavering encouragement.
_________________
Devender Kushwaha
Date: 14/08/2024
4
Abstract
"Saanjh" is a full-stack social media platform meticulously designed to cater to the local
community, fostering an environment where users can create profiles, post content.
This platform is developed with the primary aim of enhancing community engagement
and facilitating local commerce. By providing a digital space for individuals to connect,
share, and interact, "Saanjh" seeks to bridge the gap between online and offline
community interactions.
5
LIST OF FIGURES
3.2.1 ER Diagram 32
6
LIST OF TABLES
A2 Decision Table 56
A3 Data Dictionary 56
7
LIST OF ABBREVIATIONS
ABBREVIATION Description
I/O Input/Output
S/W Software
H/W Hardware
UI User Interface
UX User Experience
PK Primary Key
FK Foreign Key
8
CONTENTS
3.2.1 ERD 31
9
3.2.2 DFD 33
4.5 Implementation 47
10
5.3 Limitations of the System 51
5.5 References 52
11
CHAPTER 1: PROBLEM FORMULATION
1.1 Introduction about the Company
12
Chapter 1: Problem Formulation
Mankind Pharma operates with a strong commitment to quality and innovation, which is
evident from its extensive product portfolio and state-of-the-art manufacturing facilities.
The company has established a significant presence not only in India but also in
international markets, with a growing footprint in several countries.
The company’s success can be attributed to its strategic focus on research and
development, rigorous quality control processes, and a customer-centric approach.
Mankind Pharma’s mission is to provide high-quality and affordable healthcare solutions
that enhance the well-being of individuals and communities worldwide.
In today’s increasingly digital world, social media platforms have become crucial for
connecting individuals, sharing information, and facilitating local commerce. However,
many existing social media platforms cater to broad, global audiences and often fail to
address the specific needs of local communities. This results in a gap where local
interactions, community engagement, and local commerce opportunities are not
effectively supported.
The problem is particularly acute in smaller towns and communities where residents may
lack access to platforms that cater specifically to their local needs. Existing solutions
often focus on a wide array of functionalities without providing the localized features
necessary for meaningful community interaction. As a result, there is a missed
13
opportunity for local businesses to reach their target audience, and for community
members to engage with each other in a more connected and supportive environment.
Additionally, local social issues, such as promoting local events, facilitating community-
based commerce, and sharing neighborhood news, are not adequately addressed by
mainstream social media platforms. This lack of local focus leads to a disconnection
between online interactions and real-world community engagement.
"Saanjh" aims to address these issues by offering a dedicated platform that caters
specifically to the local community. By focusing on localized features such as event
creation, item exchanges, and community news, "Saanjh" seeks to bridge the gap between
online social interactions and real-world community engagement, thereby fostering a
more connected and supportive local environment.
The current landscape of social media platforms is dominated by a few major players,
such as Facebook, Instagram, Twitter, and LinkedIn, which cater to a global audience.
These platforms offer a wide range of features including user profiles, content sharing,
messaging, and event creation. While they have revolutionized online communication
and interaction, their broad focus often results in limitations when addressing the specific
needs of local communities.
Facebook: Known for its extensive features, Facebook supports personal profiles,
groups, events, and marketplace listings. However, its design is primarily oriented
towards global and national interactions rather than local community engagement.
Instagram: Focuses on photo and video sharing with features such as Stories and
Reels. While it supports local business promotions, it lacks dedicated tools for
community engagement and event organization.
Twitter: Provides real-time updates and public conversations but is limited in its
capabilities for local community building and commerce.
LinkedIn: Primarily used for professional networking, LinkedIn does not cater to
community-focused interactions or local commerce.
14
Patch: Focuses on hyperlocal news and information, aiming to connect residents
with local stories and events. However, it lacks comprehensive social networking
features and community-driven commerce tools.
Scalability vs. Local Focus: Most mainstream platforms are designed to scale
globally, often neglecting localized needs and community-specific features.
Feature Gaps: Existing local-focused platforms generally lack robust
functionalities for local commerce, detailed event management, or comprehensive
community interaction.
Integration Issues: Integrating multiple local services and community tools into
a single platform remains a challenge for existing solutions.
In this context, "Saanjh" proposes to fill the gap by offering a platform specifically
designed to enhance local community engagement and commerce. By integrating features
tailored to local needs, such as profile creation, content posting, event organization, and
item exchange, "Saanjh" aims to bridge the divide between broad-scale social media and
local community interactions.
In the modern era, the demand for digital solutions has become integral to addressing
various community and business needs. The need for computerization in local community
engagement and commerce is driven by several factors:
15
4. Efficient Local Commerce: Computerization supports local commerce by providing a
marketplace for buying, selling, and exchanging goods and services. This digital
approach simplifies transactions, expands market reach for local vendors, and promotes
economic activity within the community.
5. Data Management and Analysis: Digital systems allow for the efficient management
and analysis of data related to community interactions and commerce. By leveraging data
analytics, local entities can gain insights into user behavior, preferences, and trends,
leading to more informed decision-making and targeted strategies.
7. Reduced Manual Efforts: Automating routine tasks and processes through a digital
platform reduces the need for manual intervention. This results in increased efficiency,
fewer errors, and a more streamlined approach to managing community interactions and
local commerce.
By implementing a computerized solution like "Saanjh," the local community can benefit
from an integrated platform that enhances engagement, supports local businesses, and
facilitates seamless interactions among residents. The transition to a digital approach
addresses the limitations of traditional methods and provides a more dynamic and
responsive solution to community needs.
"Saanjh - A Local Social Media Platform" is designed to address the unique needs of
local communities by offering a comprehensive digital solution tailored for enhanced
community engagement and localized commerce. The platform aims to bridge the gap
between global social media giants and the specific requirements of smaller, localized
interactions.
1. User Profiles: Users can create and manage personal profiles, providing a space
to share information, interests, and updates. Profiles serve as a central hub for
interaction and engagement within the community.
2. Content Posting: The platform allows users to post updates, photos, and videos.
This feature enables individuals and businesses to share relevant content, news,
and events with the local community.
16
3. Event Management: Users can create, manage, and promote local events. This
includes setting event details, inviting participants, and tracking RSVPs. The
event management system aims to increase participation and awareness of local
activities.
4. Marketplace: The platform features a marketplace where users can buy, sell, and
exchange items. This digital marketplace supports local commerce by providing a
convenient and accessible platform for transactions.
5. Community Interaction: "Saanjh" includes forums and discussion boards where
community members can engage in conversations, seek advice, and collaborate on
various topics. This fosters a sense of belonging and encourages active
participation.
6. Local News and Announcements: Users can access and contribute to a section
dedicated to local news and announcements. This feature keeps the community
informed about important updates, opportunities, and changes within the area.
7. Notifications and Alerts: The platform sends notifications and alerts to keep
users updated on new posts, events, and interactions. This ensures that users stay
informed and engaged with the latest community activities.
8. Admin Dashboard: An administrative dashboard provides tools for managing
users, content, and events. It allows administrators to monitor platform activity,
enforce guidelines, and facilitate smooth operations.
Technology Stack:
Frontend: Developed using React.js for a responsive and dynamic user interface.
Backend: Powered by Node.js and Express.js to handle server-side logic and API
requests.
Database: Utilizes MongoDB for flexible and scalable data storage.
Hosting: Deployed on cloud platforms such as AWS or Google Cloud for
reliability and scalability.
Project Goals:
17
1.6 Importance of the Work
The development and implementation of "Saanjh - A Local Social Media Platform" hold
significant importance for several reasons:
2. Enhancing Local Commerce: The integrated marketplace allows local businesses and
individuals to engage in buying, selling, and exchanging goods and services. This
promotes economic activity within the community and provides local vendors with a
digital presence that can attract and retain customers.
3. Facilitating Local Engagement: With features such as event management and local
news updates, "Saanjh" keeps community members informed about local activities and
opportunities. This encourages greater participation in community events and initiatives,
leading to a more vibrant and active local environment.
4. Bridging the Digital Divide: "Saanjh" addresses the gap between broad-scale social
media platforms and the specific needs of local communities. By providing a tailored
solution, the platform ensures that local issues and opportunities are effectively
addressed, bridging the digital divide between global and local interactions.
7. Providing Data Insights: The platform's ability to collect and analyze data on user
interactions and community activities provides valuable insights. These insights can
inform future developments, optimize platform features, and help local stakeholders
make data-driven decisions.
In summary, "Saanjh" is a vital tool for enhancing local community dynamics, supporting
local commerce, and bridging gaps between digital and real-world interactions. Its impact
18
extends beyond just providing a platform; it plays a crucial role in fostering a more
connected, engaged, and economically active community.
19
CHAPTER 2 : SYSTEM ANALYSIS
2.1 Feasibility Study
20
Chapter 2: System Analysis
Technical feasibility assesses whether the current technology and infrastructure are
adequate to support the proposed system. For "Saanjh," the technical feasibility includes:
Technology Stack: The project utilizes React.js for the frontend, Node.js with
Express.js for the backend, and MongoDB for the database. This stack is well-
supported, scalable, and suitable for handling the dynamic needs of a social media
platform.
Infrastructure: The platform will be hosted on cloud services such as AWS or
Google Cloud, providing reliable scalability and performance.
Integration Capabilities: The chosen technologies and APIs are compatible with
modern web standards, ensuring smooth integration and functionality.
Development Tools: Tools like Visual Studio Code, Figma, and version control
systems (e.g., GitHub) will facilitate efficient development and design processes.
Overall, the technology stack and infrastructure are technically sound and capable of
supporting the project’s requirements.
Economic feasibility evaluates the cost-effectiveness of the project. For "Saanjh," the
economical feasibility includes:
The project’s costs are justified by its expected benefits, making it economically feasible.
21
Operational feasibility examines how well the system fits within the current operational
environment and user requirements. For "Saanjh," the operational feasibility includes:
The platform is expected to operate smoothly within the intended environment, meeting
user requirements and facilitating community engagement.
1. Requirements Gathering:
22
Surveys and Questionnaires: Distribute surveys to a broader audience to collect
quantitative data on user expectations, desired features, and current challenges
with existing platforms.
Competitive Analysis: Analyze similar platforms to identify their strengths and
weaknesses, and to understand the features and functionalities that are most
valuable to users.
2. Requirements Analysis:
3. System Design:
4. Feasibility Analysis:
Technical Feasibility: Evaluate the technical aspects of the project, including the
technology stack, development tools, and infrastructure. Ensure that the chosen
technologies are capable of supporting the project’s requirements.
Economic Feasibility: Assess the cost implications of the project, including
development, operational, and maintenance costs. Analyze the return on
investment (ROI) to determine the project's financial viability.
Operational Feasibility: Examine how the system will fit into the operational
environment and user workflows. Ensure that the platform is user-friendly and
that adequate support and training resources are available.
5. Documentation:
23
Design Documentation: Create detailed design documents, including
wireframes, mockups, database schemas, and system architecture diagrams. This
documentation guides the development process and ensures alignment with the
project’s goals.
1. Frontend Technologies:
React.js: Chosen for its component-based architecture, React.js allows for the
creation of a dynamic and responsive user interface. It facilitates efficient updates
and rendering of UI components, providing a seamless user experience.
Tailwind CSS: Utilized for its utility-first approach to styling, Tailwind CSS
enables rapid development of custom and responsive designs. It helps maintain a
consistent look and feel across the platform while allowing for easy
customization.
2. Backend Technologies:
Node.js: Selected for its event-driven, non-blocking I/O model, Node.js is well-
suited for handling concurrent requests and real-time data processing. It ensures
efficient performance and scalability for the backend services.
Express.js: A lightweight framework for Node.js, Express.js simplifies the
development of robust APIs and server-side logic. It provides essential
middleware and routing features, streamlining backend development.
3. Database:
24
MongoDB: Chosen for its NoSQL, document-oriented approach, MongoDB
offers flexibility in data modeling and scaling. It is well-suited for managing the
diverse and evolving data structures of a social media platform.
AWS (Amazon Web Services): AWS provides reliable and scalable cloud
hosting solutions. Services like AWS EC2 for virtual servers, AWS S3 for
storage, and AWS RDS for managed database services support the deployment
and maintenance of the platform.
Google Cloud Platform (GCP): GCP offers various cloud computing and
storage solutions. Services like Google Compute Engine, Google Cloud Storage,
and Google Cloud SQL can be utilized as alternatives or complementary solutions
for hosting and data management.
5. Development Tools:
Visual Studio Code (VS Code): A versatile code editor, VS Code supports
various programming languages and extensions, enhancing productivity during
development.
GitHub: Used for version control and collaboration, GitHub enables effective
management of code repositories, issue tracking, and team collaboration.
1. Development Environment:
2. Production Environment:
Cloud Servers: For hosting the live platform, cloud servers provided by AWS or
GCP will be used. These servers will be configured based on the anticipated
traffic and resource requirements of the platform.
Database Servers: Managed database services or dedicated database servers will
be utilized to handle data storage and management efficiently.
25
Cloud Backup Solutions: Regular backups will be conducted using cloud storage
solutions (e.g., AWS S3, Google Cloud Storage) to ensure data integrity and
availability in case of system failures or data loss.
4. Network Infrastructure:
26
CHAPTER 3 : SYSTEM DESIGN
3.1 Design Methodology
3.2.1 ERD
3.2.2 DFD
27
CHAPTER 3 : SYSTEM DESIGN
1. Design Planning:
2. Architectural Design:
Wireframes: Create wireframes to visualize the layout and structure of each page
or screen. Wireframes provide a blueprint for the user interface and help in
defining the arrangement of elements.
Mockups: Develop detailed mockups that illustrate the visual design of the user
interface, including color schemes, typography, and graphical elements. Mockups
help in refining the visual aesthetics and user experience.
Prototypes: Build interactive prototypes to simulate the user experience and
gather feedback from stakeholders. Prototypes allow for early testing of design
concepts and usability.
4. Database Design:
28
Data Modeling: Design the database schema, including tables, relationships, and
data types. This involves creating Entity-Relationship Diagrams (ERDs) to
represent the data structure and its relationships.
Normalization: Apply normalization techniques to organize data efficiently and
reduce redundancy. Ensure that the database design supports scalability and
performance.
5. API Design:
API Specifications: Define the API endpoints, methods, and data formats
required for communication between the frontend and backend. This includes
specifying request and response structures and authentication mechanisms.
API Documentation: Create comprehensive documentation for the APIs to
facilitate integration and development. Documentation includes endpoint
descriptions, usage examples, and error handling.
6. System Integration:
8. Documentation:
The design methodology for "Saanjh" ensures a systematic and comprehensive approach
to creating a robust and user-centered social media platform. By focusing on detailed
planning, user experience, and integration, the methodology aims to deliver a high-
quality solution that meets the needs of the local community.
29
3.2 Database Design
Effective database design is crucial for ensuring the performance, scalability, and
integrity of "Saanjh - A Local Social Media Platform." This section outlines the design of
the database, including the Entity-Relationship Diagram (ERD) and Data Flow Diagram
(DFD).
The Entity-Relationship Diagram (ERD) represents the data model of the system,
illustrating entities, their attributes, and relationships. The ERD for "Saanjh" includes the
following key entities and their relationships:
User:
o Attributes: UserID (PK), Username, Email, PasswordHash,
ProfilePicture, CreatedAt, UpdatedAt
o Relationships:
One-to-Many with Posts (a user can create multiple posts)
One-to-Many with Events (a user can create multiple events)
One-to-Many with Items (a user can list multiple items for sale)
One-to-Many with Comments (a user can comment on multiple
posts)
Many-to-Many with Friends (users can be friends with multiple
other users)
Post:
o Attributes: PostID (PK), UserID (FK), Content, ImageURL, CreatedAt,
UpdatedAt
o Relationships:
Many-to-One with User (a post is created by a single user)
One-to-Many with Comments (a post can have multiple
comments)
Comment:
o Attributes: CommentID (PK), PostID (FK), UserID (FK), Content,
CreatedAt
o Relationships:
Many-to-One with Post (a comment is associated with a single
post)
Many-to-One with User (a comment is made by a single user)
Event:
o Attributes: EventID (PK), UserID (FK), EventName, EventDate,
Location, Description, CreatedAt
o Relationships:
Many-to-One with User (an event is created by a single user)
Item:
o Attributes: ItemID (PK), UserID (FK), ItemName, ItemDescription,
Price, Category, CreatedAt
30
oRelationships:
Many-to-One with User (an item is listed by a single user)
Friendship:
o Attributes: UserID1 (FK), UserID2 (FK), FriendshipDate
o Relationships:
Many-to-Many with User (represents a friendship between two
users)
Diagram:
31
3.2.2 Data Flow Diagram (DFD)
The Data Flow Diagram (DFD) illustrates how data flows through the system, detailing
the processes, data stores, and interactions between system components. The DFD for
"Saanjh" includes the following elements:
External Entities:
o Users: Interact with the system to perform actions such as posting content,
creating events, and listing items.
o Admin: Manages user accounts, content moderation, and platform
settings.
Processes:
o User Authentication: Handles user login and registration, including
validation and security checks.
o Content Management: Manages posts, comments, and media uploads,
including creating, updating, and deleting content.
o Event Management: Handles event creation, updates, and user
interactions related to events.
o Marketplace Management: Manages item listings, updates, and
transactions within the marketplace.
Data Stores:
o User Data Store: Stores user information, including profiles, credentials,
and preferences.
o Post Data Store: Contains all posts and associated metadata.
o Comment Data Store: Stores comments related to posts.
o Event Data Store: Contains information about events, including details
and participants.
o Item Data Store: Stores item listings and associated data.
o
Diagram:
32
Fig 3.2.2.0 : Level 0 DFD
33
By designing the database with these components, "Saanjh" ensures a robust and scalable
data architecture that supports the platform’s functionalities and user interactions. The
ERD provides a clear representation of the data model, while the DFD illustrates how
data flows and is processed within the system.
Input design is a crucial aspect of system design that focuses on how data is collected and
entered into the system. For "Saanjh - A Local Social Media Platform," effective input
design ensures that user interactions are intuitive, data entry is efficient, and validation is
robust. This section outlines the approach to input design for the platform.
34
User Feedback: Confirm event creation or display error messages
for invalid inputs.
Marketplace Listing:
o Item Listing Form:
Fields: Item Name, Description, Price, Category, Image Upload
(optional)
Validation: Check for appropriate pricing formats, description
length, and acceptable image formats and sizes.
User Feedback: Provide confirmation of successful listing or error
messages if inputs are invalid.
Client-Side Validation:
o Purpose: Enhance user experience by providing immediate feedback
before data is sent to the server.
o Implementation: Use JavaScript and HTML5 form attributes to validate
input fields (e.g., required fields, email format, password strength).
Server-Side Validation:
o Purpose: Ensure data integrity and security by validating inputs on the
server before processing.
o Implementation: Implement validation checks in backend code (e.g.,
Node.js) to handle edge cases and prevent malicious data from being
processed.
Text Fields: Used for entering usernames, email addresses, and post content.
Password Fields: Secure input for passwords, with options for showing/hiding
password characters.
Date Pickers: For selecting event dates, ensuring correct date format and
validation.
File Uploads: For profile pictures, post images, and item images, with validation
for file type and size.
Dropdowns: For selecting categories in the marketplace, ensuring users choose
from predefined options.
Accessibility: Ensure forms and input controls are accessible to all users,
including those with disabilities. Use appropriate labels, fieldsets, and ARIA
attributes.
Usability: Design forms to be user-friendly with clear labels, helpful instructions,
and intuitive layouts. Minimize the number of required fields and use default
values where possible.
35
Error Handling: Provide meaningful error messages and guidance on how to
correct input errors. Use inline validation to highlight issues as users fill out
forms.
Effective input design for "Saanjh" ensures a smooth user experience, accurate data
collection, and robust security, ultimately contributing to the platform's overall success.
Output design focuses on how data is presented to users and how results from the system
are communicated. For "Saanjh - A Local Social Media Platform," effective output
design ensures that users receive clear, relevant, and actionable information. This section
outlines the approach to output design, including various types of outputs and their
formats.
36
Format: Clean and visually appealing layout with clear sections for each piece of
information.
3.4.1.2 Posts:
3.4.1.3 Events:
Description: Shows upcoming and past events created by users, including event
details and RSVP options.
Output Elements:
o Event Name: Title of the event.
o Date and Time: When the event is scheduled.
o Location: Where the event will take place.
o Description: Brief details about the event.
o RSVP Button: Option for users to confirm attendance.
Format: Events are listed with date, time, and location prominently displayed,
and a clear call-to-action for RSVP.
Description: Displays items for sale or exchange, including item details and
pricing.
Output Elements:
o Item Name: Name of the item.
o Description: Details about the item.
o Price: Cost of the item.
o Image: Visual representation of the item.
o Contact Information: How to reach the seller.
Format: Listings are shown in a grid or list format with item images and essential
details easily accessible.
3.4.1.5 Notifications:
Description: Alerts users about system events such as new messages, comments,
or friend requests.
Output Elements:
37
o Notification Message: Description of the event (e.g., “You have a new
friend request”).
o Timestamp: When the notification was received.
Format: Notifications are presented in a dropdown or sidebar with clear icons
and timestamps.
Description: Most outputs are presented on web pages with a responsive design
to accommodate various devices.
Components:
o HTML/CSS: For structuring and styling the output.
o JavaScript: For dynamic content and interactive elements.
Design Considerations: Ensure accessibility, readability, and user-friendly
interfaces.
3.4.2.2 Emails:
Ensure that all outputs are clear and easily readable. Use appropriate fonts, colors,
and layouts to enhance readability.
3.4.3.2 Consistency:
38
Maintain a consistent design language throughout the platform to provide a
cohesive user experience.
3.4.3.3 Accessibility:
Design outputs to be accessible to all users, including those with disabilities. Use
contrast ratios, alt text for images, and keyboard navigability.
3.4.3.4 Responsiveness:
Ensure that outputs are optimized for various screen sizes and devices, providing
a consistent experience across desktop and mobile.
39
By adhering to these design principles, "Saanjh" ensures that users receive meaningful
and effective outputs that enhance their interaction with the platform.
Variables and Functions: Use camelCase for variable and function names (e.g.,
userProfile, fetchPosts).
Classes and Components: Use PascalCase for class and component names (e.g.,
UserProfile, PostCard).
40
Indentation: Use 2 spaces for indentation to maintain code readability.
Line Length: Keep lines of code within 80-120 characters to avoid horizontal
scrolling.
Commenting: Use comments to explain complex logic, but avoid redundant
comments. Follow the JSDoc format for documenting functions and classes.
Tool: Git is used for version control, with code hosted on GitHub.
Branching Strategy: Follow Git Flow or feature branching to manage
development and release cycles.
Commits: Make frequent, descriptive commits with clear messages to track
changes effectively.
3.5.3.2 Testing:
Unit Testing: Use testing frameworks like Jest for testing individual components
and functions.
Integration Testing: Ensure that different modules of the application work
together as expected.
End-to-End Testing: Use tools like Cypress or Selenium to test user interactions
and workflows across the platform.
3.5.3.4 Documentation:
41
3.5.4 Development Workflow
Sprint Planning: Break down the project into sprints with specific goals and
deliverables.
Daily Standups: Hold daily standup meetings to discuss progress, challenges,
and plans.
Retrospectives: Conduct retrospectives at the end of each sprint to reflect on
what went well and what can be improved.
3.5.4.2 Deployment:
By adhering to these code design and development practices, the "Saanjh" platform will
have a robust, maintainable, and scalable codebase that meets the project’s requirements
and supports future growth.
42
CHAPTER 4 : TESTING AND IMPLEMENTATION
4.1 Testing Methodology
4.5 Implementation
43
CHAPTER 4: TESTING AND IMPLEMENTATION
To ensure that the "Saanjh" platform functions as intended and meets the specified
requirements, a comprehensive testing methodology has been employed. This
methodology encompasses various testing phases, each designed to evaluate different
aspects of the system's performance and reliability.
**Method:** Automated unit tests were created to assess the correctness of functions,
methods, and components, focusing on the logic and behavior of isolated parts of the
code.
**Tools:** Jest was utilized for testing React components, while Mocha and Chai were
employed for backend unit testing in Node.js.
**Method:** Testing involved checking the interaction between related features, such as
user profile management and content posting. The integration of these modules was
verified to ensure seamless functionality.
**Tools:** Postman was used to test API integrations, and Cypress was employed for
end-to-end module testing.
**Objective:** Validate that different parts of the system interact correctly and data
flows as intended.
44
**Method:** Integration tests focused on the interaction between the frontend and
backend components, including API endpoints and data synchronization between the
client and server.
**Tools:** Cypress and Postman were used for testing the integration of APIs and user
interactions.
**Objective:** Assess the overall system's performance, security, and compliance with
requirements.
**Tools:** Load testing was conducted using JMeter, and security assessments were
performed using OWASP ZAP.
**Objective:** Evaluate the system from both internal (white box) and external (black
box) perspectives.
**Method:** White box testing involved examining the internal logic and code
structure, while black box testing assessed the system's functionality and behavior based
on user inputs and outputs.
**Tools:** White box testing was conducted using manual code reviews, and black box
testing was performed using automated test scripts and user scenarios.
**Objective:** Confirm that the system meets the user requirements and is ready for
deployment.
**Method:** User acceptance testing (UAT) was carried out with a selected group of
end-users to validate the platform's usability, functionality, and overall user experience.
45
**Tools:** Feedback was gathered through surveys and direct user interactions to ensure
the system met user expectations and requirements.
**Test Data:**
- Sample user profiles, event details, marketplace listings, and community posts were
created to simulate real-world scenarios and validate system functionality.
**Test Cases:**
**Content Posting:** Testing the ability to post updates, photos, and videos, and
verifying that content appears correctly on user profiles and feeds.
Test Reports:
Detailed reports were generated for each testing phase, highlighting any issues or bugs
discovered. These reports included information on test results, error descriptions, and
severity levels.
Debugging:
Issues identified during testing were analyzed and resolved through debugging efforts.
Tools such as Chrome DevTools, debugging logs, and error tracking systems were used
to pinpoint and fix problems.
46
Installation Steps:
- Detailed instructions were provided for setting up the "Saanjh" platform on a server or
cloud environment. This included steps for configuring the environment, installing
dependencies, and deploying the application.
**Configuration:**
4.5 Implementation
**Deployment:**
The platform was deployed on cloud services such as AWS or Google Cloud. The
deployment process involved configuring the server environment, uploading application
files, and ensuring all services were operational.
**Challenges:**
Training Sessions:
- Training sessions were conducted to familiarize users with the platform's features and
functionalities. Training materials included user guides, tutorials, and interactive
demonstrations.
47
Documentation:
- Comprehensive user documentation was provided, including help guides, FAQs, and
support resources to assist users in navigating and utilizing the platform effectively.
Maintenance Plan:
- A maintenance plan was established to ensure the ongoing operation and support of the
platform. This included routine checks, updates, and backups to maintain system
performance and reliability.
Support:
- Support mechanisms were put in place to assist users with any issues or questions. This
included a helpdesk system, support tickets, and a dedicated team for addressing user
concerns and feedback.
48
CHAPTER 5 : CONCLUSION AND REFERENCES
5.1 Conclusion
5.5 References
49
CHAPTER 5: CONCLUSION AND REFERENCES
5.1 Conclusion
The "Saanjh" platform represents a significant step towards addressing the unique needs
of local communities through a dedicated digital solution. By integrating features tailored
to local interactions and commerce, the platform successfully bridges the gap between
broad-scale social media and localized community engagement.
Key Achievements:
Overall Impact:
"Saanjh" has successfully met its objectives by offering a tailored solution that enhances
local engagement and supports community-driven initiatives. The platform's design and
implementation have been aligned with the needs of the local community, providing a
valuable tool for interaction and commerce.
Server:
- RAM: 4 GB minimum
50
- Any modern device with internet access (smartphones, tablets, or desktops)
Frontend:
Backend:
Development Tools:
Deployment:
- Cloud platforms such as AWS or Google Cloud for hosting and scaling
Testing Tools:
Despite the platform’s robust features, several limitations have been identified:
1. Scalability Challenges: While the system is designed to handle moderate user loads,
scaling to support very large user bases may require additional optimizations and
infrastructure adjustments.
51
2. Feature Limitations: Certain advanced features available in global social media
platforms may be lacking in "Saanjh," such as sophisticated algorithms for content
recommendation and advanced analytics.
3. Integration Complexity: Integrating with third-party services and APIs may introduce
complexities and potential points of failure, which need to be managed carefully.
4. User Training Requirements: Some users may require additional training to fully
utilize all the features of the platform, which could impact user adoption and satisfaction.
To enhance the "Saanjh" platform and address the limitations mentioned, several
modifications and improvements can be considered:
1. Enhanced Scalability: Implementing more robust cloud solutions and optimizing code
for better performance can support larger user bases and increased traffic.
4. User Experience Improvements: Continual user feedback and usability testing can
guide iterative improvements to the platform’s interface and features, ensuring it remains
user-friendly and effective.
5. Mobile App Development: Developing native mobile applications for iOS and Android
can provide a more seamless experience for users accessing the platform from mobile
devices.
5.5 References/Bibliography
1. Websites:
52
"Node.js Documentation," https://reactjs.org/docs, Accessed July 2024.]
2. Software Tools:
React Developer tools ,Redux Dev Tools, Pesticide for Crome ,colorZilla
53
CHAPTER 6 : ANNEXURES (Screen Snapshots must be annexed)
A-1 Menu Flow Diagram
54
CHAPTER 6: ANNEXURES
The Menu Flow Diagram provides a visual representation of the navigation structure of
the "Saanjh" platform. It outlines the different menus, sub-menus, and their
interconnections, helping users understand the layout and flow of the application.
The Decision Table presents the decision-making logic implemented in the system. It
details various scenarios, conditions, and corresponding actions taken by the system. This
is crucial for understanding the decision processes that drive the application’s behavior.
55
Table A2: Decision Table
The Data Dictionary provides comprehensive details about the data elements used in the
"Saanjh" platform. It includes definitions, data types, constraints, and relationships of
various entities within the database.
56
A-4 Test Reports
Test Reports summarize the results of different testing phases carried out for the
platform. They include details on unit testing, module testing, integration testing, system
testing, and any issues encountered, along with their resolutions.
Test Environment:
- **Database**: MongoDB
- **Backend**: Node.js
- **Frontend**: React.js
57
**Steps**:
Actual Result**:
Status: Pass
58
**Preconditions**: User is already registered on the platform.
**Steps**:
**Actual Result:
**Status**: Pass
59
**Test Case ID**: TC-03
**Steps**:
**Expected Result**: Content should be successfully posted and visible on the user's
profile and news feed.
**Status**: Pass
60
Test Case ID: TC-04
Steps:
4.
Status: Pass
61
A-5 Sample Inputs
Sample Inputs showcase example data used for testing the system. They help in
demonstrating how the platform handles different types of data and user interactions.
62
A-6 Sample Outputs
Sample Outputs display the results produced by the system when processing sample
inputs. These outputs are used to validate that the platform functions as expected and
meets the requirements.
63
Saanjh – A local Social Media Platform
64
65