Skip to content

ZaneLing/Personal-Research-Platform

Repository files navigation

Personal Research Platform 📚

A comprehensive research management system built with modern web technologies, designed to help researchers organize, analyze, and collaborate on academic papers and documents.

🚀 Features

Core Functionality

  • Document Management 📄

    • Upload PDF and text documents
    • Categorize documents for better organization
    • View document details and metadata
    • Delete unwanted documents
    • Search and filter documents
  • Category Management 🗂️

    • Create custom categories
    • Delete categories
    • Automatic categorization of documents
    • Persistent category storage
  • Note Taking 📝

    • Create and manage notes for each document
    • Organize notes by document
    • Rich text formatting support
  • Data Analysis 📊

    • Document analysis tools
    • Statistical analysis of research data
    • Visual representation of research trends

Technical Features

  • Modern Stack 🛠️

    • React + Vite frontend
    • Node.js + Express backend
    • MongoDB database
    • Responsive design
  • User Experience 😊

    • Intuitive drag-and-drop interface
    • Modal-based forms for better user interaction
    • Real-time updates
    • Clean and modern UI

📁 Project Structure

PersonalResearchPlatform/
├── backend/              # Backend server code
│   ├── src/
│   │   ├── controllers/  # API controllers
│   │   ├── models/       # MongoDB models
│   │   ├── routes/       # API routes
│   │   └── server.js     # Main server file
│   └── uploads/          # Uploaded files storage
├── src/                  # Frontend React code
│   ├── components/       # React components
│   ├── pages/            # React pages
│   └── App.jsx           # Main app component
├── public/               # Public static files
└── package.json          # Project dependencies

🛠️ Getting Started

Prerequisites

  • Node.js (v14+)
  • npm or yarn
  • MongoDB (local or Atlas)

Installation

  1. Clone the repository

    git clone <repository-url>
    cd PersonalResearchPlatform
  2. Install dependencies

    # Install frontend dependencies
    npm install
    
    # Install backend dependencies
    cd backend
    npm install
    cd ..
  3. Configure environment variables Create a .env file in the backend directory:

    # MongoDB connection string
    MONGODB_URI=mongodb://localhost:27017/research-platform
    
    # Server port
    PORT=5001

Running the Application

  1. Start the backend server

    cd backend
    node src/server.js
  2. Start the frontend development server

    # In a new terminal
    npm run dev
  3. Access the application Open your browser and navigate to http://localhost:5173

📡 API Endpoints

Documents

  • GET /api/documents - Get all documents
  • GET /api/documents/:id - Get document by ID
  • POST /api/documents/upload - Upload new document
  • PATCH /api/documents/:id - Update document
  • DELETE /api/documents/:id - Delete document

Categories

  • GET /api/categories - Get all categories
  • POST /api/categories - Create new category
  • DELETE /api/categories/:id - Delete category

Notes

  • GET /api/notes - Get all notes
  • GET /api/notes/:documentId - Get notes for specific document
  • POST /api/notes - Create new note
  • DELETE /api/notes/:id - Delete note

Analysis

  • GET /api/analysis - Get analysis data

🎨 UI Components

Main Pages

  • Document List - Browse and manage all documents
  • Document Detail - View detailed document information
  • Upload Page - Upload new documents
  • Note Manager - Manage notes for documents
  • Analysis Page - View document analysis
  • Statistics Page - View research statistics
  • Settings Page - Configure platform settings

UI Features

  • Drag-and-Drop - Easy document organization
  • Modal Forms - Intuitive data entry
  • Responsive Design - Works on all devices
  • Real-time Updates - Instant feedback

🔧 Technologies Used

Frontend

  • React - JavaScript library for building user interfaces
  • Vite - Modern build tool
  • Axios - HTTP client for API requests
  • React Router - Client-side routing

Backend

  • Node.js - JavaScript runtime
  • Express - Web framework
  • MongoDB - NoSQL database
  • Mongoose - MongoDB object modeling
  • Multer - File upload handling

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

🌟 Acknowledgements

  • Built with ❤️ for researchers everywhere
  • Powered by modern web technologies
  • Designed for simplicity and efficiency

Happy Researching! 🎓

About

Personal Research Platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors