Skip to content

Empowering You to Share PDFs with Flair – Collaborate, Inspire, and Thrive

License

Notifications You must be signed in to change notification settings

shubhamlakheraa/PdfShareX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PdfShareX

PdfShareX is a powerful PDF sharing application that allows users to seamlessly upload, share, and collaborate on PDF documents. With a robust tech stack consisting of Next.js for the frontend, Node.js with Express for the backend, MongoDB with Mongoose for the database, Cloudinary for cloud storage, and Multer for file handling, PdfShareX provides an efficient and secure platform for managing PDF files.

pdfsharex.mp4

Architecture Overview

The architecture of PdfShareX follows a modern and scalable design, leveraging the strengths of each technology in the tech stack. Here's an overview of the different components and their interactions:

  1. Frontend:

    • Built with Next.js, a React framework for server-side rendering and efficient client-side navigation.
    • Implements responsive and intuitive user interfaces to enhance user experience.
    • Utilizes client-side state management libraries like Redux for managing application state.
    • Interacts with the backend API endpoints for data retrieval and submission.
  2. Backend:

    • Developed using Node.js with Express, providing a robust and scalable server-side framework.
    • Exposes RESTful API endpoints for handling PDF-related operations such as uploading, downloading, and sharing.
    • Implements authentication and authorization mechanisms to ensure secure access to user-specific features.
    • Interacts with the database and cloud storage service for data persistence and file management.
  3. Database:

    • Utilizes MongoDB, a NoSQL document-oriented database, for storing metadata and related information about PDF documents.
    • Implements data models and schemas using Mongoose, an Object Data Modeling (ODM) library for MongoDB.
    • Facilitates efficient querying, indexing, and retrieval of PDF document data.
  4. Cloud Storage:

    • Integrates Cloudinary, a cloud-based media management platform, for storing and managing PDF files.
    • Allows seamless upload and retrieval of PDF documents, with support for metadata and transformations.
  5. File Handling:

    • Utilizes Multer, a middleware for handling multipart/form-data, for managing file uploads.
    • Performs validation, file size restrictions, and storage configurations for handling PDF uploads.

Installation

To set up PdfShareX locally, follow these steps:

  1. Clone the repository: git clone https://github.com/shubhamlakheraa/PdfShareX.git
  2. Install dependencies for the frontend: cd PdfShareX/client && npm install
  3. Install dependencies for the backend: cd ../server && npm install
  4. Configure environment variables: Create a .env file in the backend directory and set up the required variables (e.g., database connection URL, Cloudinary credentials).
  5. Start the development server: In the backend directory, run npm run dev to start the backend server. In the frontend directory, run npm run dev to start the frontend server.
  6. Access PdfShareX in your browser at http://localhost:3000.

Conclusion

PdfShareX combines the power of Next.js, Node.js, MongoDB, Cloudinary, and Multer to provide a comprehensive PDF sharing solution. With its scalable architecture, secure file management, and intuitive user interfaces, PdfShareX enables efficient collaboration and seamless document exchange. Explore the codebase and customize it to meet your specific requirements and business needs.

Feel free to contribute to the project and provide feedback for further enhancements. Happy sharing with PdfShareX!

About

Empowering You to Share PDFs with Flair – Collaborate, Inspire, and Thrive

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published