Skip to content

himavarshini28/mindvault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 DigiBrain

MindVault is now DigiBrain

Your personal digital brain - capture, organize, and share knowledge effortlessly

MindVault Banner TypeScript React Node.js MongoDB Tailwind CSS


✨ Features

🎯 Smart Content Management

  • Multi-Platform Support - Seamlessly save content from Twitter, YouTube, LinkedIn, and any website
  • Intelligent Categorization - Auto-organize your saved content by type
  • Semantic Search - Find exactly what you need with AI-powered search
  • Rich Previews - Beautiful embedded previews for tweets, videos, and links

πŸš€ Modern UX

  • Smooth Loading States - Elegant skeleton screens and animations
  • Responsive Design - Perfect on desktop, tablet, and mobile
  • Dark Mode UI - Easy on the eyes with a sleek dark interface
  • Real-time Updates - Instant feedback on all actions

πŸ” Secure & Private

  • JWT Authentication - Secure user sessions
  • Private Collections - Your data, your control
  • Shareable Links - Generate read-only share links for collaboration

πŸ› οΈ Tech Stack

Frontend

  • React 18 with TypeScript
  • Vite for blazing-fast builds
  • Tailwind CSS for utility-first styling
  • Zustand for state management
  • React Router with HashRouter for SPA routing
  • Axios for API communication

Backend

  • Node.js + Express
  • TypeScript for type safety
  • MongoDB with Mongoose ODM
  • JWT for authentication
  • Vector Embeddings for semantic search

DevOps

  • Render for deployment
  • Git for version control

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • MongoDB instance
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/himavarshini28/mindvault.git
cd mindvault
  1. Install dependencies
# Install client dependencies
cd client
npm install

# Install server dependencies
cd ../server
npm install
  1. Set up environment variables

Create .env files in both client and server directories:

Client .env

VITE_BACKEND_URL=http://localhost:5000

Server .env

PORT=5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
  1. Start the development servers
# Start backend (from server directory)
npm run dev

# Start frontend (from client directory)
npm run dev
  1. Open your browser Navigate to http://localhost:5173

πŸ“– Usage

1. Sign Up / Sign In

Create your account or log in to access your personal vault

2. Add Content

Click "Add content" and paste links from:

  • 🐦 Twitter/X
  • πŸ“Ί YouTube
  • πŸ’Ό LinkedIn
  • πŸ”— Any website

3. Organize

Content is automatically categorized. Use the sidebar to filter by type.

4. Search

Use semantic search to find content by meaning, not just keywords.

5. Share

Generate shareable links to collaborate with others (read-only access).


🎨 Key Features in Detail

Smart Content Types

  • Twitter/X - Embedded tweets with full formatting
  • YouTube - Video embeds with player controls
  • LinkedIn - Professional content previews
  • Others - Links and documents with custom icons

Advanced Search

Powered by AI embeddings, search understands context and meaning, not just exact matches.

Responsive Loading States

  • Skeleton screens for smooth transitions
  • Shimmer animations for premium feel
  • Button loading indicators
  • Non-blocking UI updates

Share Functionality

  • Generate unique share links
  • Copy-to-clipboard with one click
  • Open share links in new tabs
  • HashRouter-compatible URLs

πŸ—‚οΈ Project Structure

mindvault/
β”œβ”€β”€ client/                 # React frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ store/         # Zustand stores
β”‚   β”‚   β”œβ”€β”€ icons/         # SVG icon components
β”‚   β”‚   β”œβ”€β”€ lib/           # Utilities and API client
β”‚   β”‚   └── types/         # TypeScript definitions
β”‚   └── public/            # Static assets
β”‚
└── server/                # Express backend
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ config/        # Database config
    β”‚   β”œβ”€β”€ middlewares/   # Auth & other middleware
    β”‚   β”œβ”€β”€ routes/        # API routes
    β”‚   └── utils/         # Helper functions
    └── dist/              # Compiled output

🀝 Contributing

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

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ‘€ Author

Hima Varshini


πŸ™ Acknowledgments

  • Inspired by modern note-taking and knowledge management tools
  • Built with love using the latest web technologies
  • Thanks to the open-source community for amazing tools and libraries

⭐ Star this repo if you find it useful!

Made with ❀️ by Hima Varshini

About

🧠 Personal digital brain to save & organize content from social media and web. React + TypeScript + Node.js + MongoDB with AI search & modern UX

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors