SRSINT222
SRSINT222
SRSINT222
Nandan Upadhyay
( 12203649 )
INT222 – ADVANCED WEB DEVELOPMENT
Submitted To: Ms. Mamta Sharma: 30448
INTRODUCTION
The decision to employ MongoDB and Node.js for the project stems from several
compelling reasons:
The MongoDB and Node.js communities are vibrant and active, providing
extensive support, documentation, and a wealth of third-party libraries and
modules. This rich ecosystem accelerates development by offering pre-built
solutions for common tasks and challenges, reducing the need for custom
development from scratch.
Developer Productivity:
Both MongoDB and Node.js are designed with developer productivity in mind.
MongoDB's intuitive query language and schema-less data model simplify
database operations, reducing development time and effort. Similarly, Node.js's
unified JavaScript ecosystem allows developers to write both frontend and
backend code in the same language, streamlining development workflows and
promoting code reuse. This synergy between MongoDB and Node.js enhances
developer productivity, enabling rapid iteration and deployment ofnew features.
Advantages of MVC:
• Separation of Concerns: MVC enforces a clear separation of concerns,
allowing developers to work on individual components without interfering with
the others. This makes code more modular, maintainable, and extensible.
• Code Reusability: Components within MVC can be reused in other parts of the
application or in different applications, reducing redundancy and development
time.
• Scalability: The modular structure of MVC makes it easier to scale and
enhance specific components without impacting the entire application.
• Parallel Development: Developers can work in parallel on different
components of the architecture, streamlining the development process.
• Testing: Each component can be tested in isolation, simplifying unit testing
and quality assurance.
The project introduces a MongoDB and Node.js-based file sharing application
to address the challenges associated with file management, focusing on security,
user-friendliness, and collaboration. By leveraging these technologies along
with the MVC architecture, the aim is to deliver a robust, scalable, and
maintainable solution that meets the evolving needs of users in various domains.
TECHNOLOGIES USED
2.4 React Js: React JS is a popular JavaScript library for building dynamic UIs. It
excels in:
FUNCTIONAL REQUIREMENTS
Blog Post Creation: Users (with proper permissions) can create rich-text
blog posts, including images, videos, embedded content.
Categorization and Tagging: Organize posts with categories and tags for
easy filtering and content discovery.
Drafts: Ability to save posts as drafts before publishing.
Revision History: Maintain past revisions for collaboration and editing
oversight.
3.2 User Management:
User Registration and Login: Secure user registration and login system.
Social Sharing: Easy sharing buttons for popular social media platforms.
Image Uploads: Handle image uploads with optimizations.
Media Library: Centralized storage and management of uploaded media.
4.1 Performance:
Page Load Speed: Pages should load within 2-3 seconds under average load.
Responsiveness: Website adapts seamlessly to desktops, tablets, and mobile
devices.
4.2 Security:
4.3 Scalability:
4.4 Usability:
REFERENCES
• Node.js Documentation
https://nodejs.org/docs/latest/api/
• Express.js Documentation
https://expressjs.com/
• MongoDB Documentation
https://mongodb.com/
• Mongoose Documentation
https://mongoosejs.com/docs/