/vidyalai-full-stack-task

A comprehensive web application for secure PDF uploads, edits, reorganization and effortless document sharing.

Primary LanguageJavaScript

PDF Manager 📄

PDF Manager is a robust web application designed to streamline the way users manage PDF files. It provides a secure platform for users to upload, edit, reorder pages, and seamlessly share their documents with a community. Empower your PDF handling experience with PDF Manager today!

Features ✨

  • 🚀 Efficient Authentication: Sign up, log in.
  • 📚 PDF Management: Upload and access your collection of PDFs.
  • 📝 Edit Your PDFs: Select specific pages and edit the order to your preference.
  • 💾 Save & Versioning: Keep different versions of your edited PDFs in the database.
  • 📥 Easy Downloads: Download your PDFs effortlessly.
  • 🌐 Community Sharing: Share your documents with the public community.

Tech Stack 🔧

Our application leverages a combination of modern technologies to deliver a top-notch user experience.

Frontend

  • Next.js (React) - The React framework for production.
  • Tailwind CSS with daisyui - For beautiful, responsive UIs.
  • react-pdf, pdfjs-dist - For rendering and manipulating PDFs in the browser.
  • react-beautiful-dnd, react-dnd, react-dnd-html5-backend - For intuitive drag-and-drop interfaces.
  • react-icons - To enhance the user interface with meaningful icons.
  • sweetalert2 with sweetalert2-react-content - For engaging alerts and modals.
  • uuid - For generating unique identifiers.

Backend

  • Express.js on Node.js - For a minimalist and flexible server.
  • bcrypt, jsonwebtoken - For secure authentication practices.
  • MongoDB with Mongoose - For scalable database management.
  • AWS S3 - For reliable file storage solutions.
  • pdf-lib - For comprehensive PDF manipulations.
  • nodemon - For an improved development experience.

Deployment & Operations

  • Amazon EC2 - For reliable server hosting.
  • PM2 - For process management and keeping services alive.
  • Load Balancing - To ensure high availability and reliability.

Documentations

Server with aws s3 bucket storage Click here
Server with Local Storage Click here

Getting Started 🚀

To get a local frontend application up and running, follow these simple steps.

# Clone the repository
git clone https://github.com/Anandhupa1/vidyalai-full-stack-task.git

# Navigate to the frontend directory
cd "vidyalai-full-stack-task\client"

# Install dependencies
npm install

# Start the frontend application
npm run dev

Change Server URL

By default, the application will use the deployed server-url. If you wish to change it, modify the baseUrl.js file found at the following path:

📁 client > 📁 app > 📁 utils > 📄 baseUrl.js

Change the server URL to your preferred endpoint .

Backend

Live Deployment

Access the deployed server here:

Local Setup Guides

For setting up the server locally, choose one of the following storage options and follow the respective documentation:

🙏 Acknowledgements

Thanks for viewing the PDF Manager documentation. If you have any questions or feedback, please feel free to reach out .