Second Brain is a personal knowledge management app that allows you to collect, organize, and store content from various sources like Twitter, YouTube, Google Docs, and more. It serves as a centralized hub for all your ideas, notes, and resources, helping you stay productive and organized.
-
π¦ Centralized Content Storage:
- Collect and store content from multiple sources in one place.
- Supported sources include:
- π¦ Tweets
- πΉ YouTube videos
- π Google Docs
- π Links and more.
-
ποΈ Categorization and Organization:
- Organize content into categories like Notes, Videos, Documents, and Links.
- Use tags to group related content for easy filtering and searching.
-
π·οΈ Dynamic Tagging:
- Add tags dynamically. If a tag doesnβt exist, it will be created automatically.
- Tags help you categorize and filter content efficiently.
-
π Content Sharing:
- Share your entire collection of notes, documents, tweets, and videos with others.
- Generate a shareable link to allow others to import your content into their own Second Brain.
-
π₯οΈ User-Friendly Interface:
- Intuitive and clean UI for easy navigation and content management.
- Quickly add, edit, or delete content.
-
π Secure User Accounts:
- Each user has their own account to manage their personal content.
- Links and content are associated with specific users for privacy and security.
-
β Add Content:
- Use the "Add Content" button to add new items from supported sources.
- Provide the link or details, and the app will automatically categorize and store it.
-
π·οΈ Organize with Tags:
- Add tags to your content to group related items.
- Tags are dynamically created if they donβt already exist.
-
π View and Manage Content:
- Navigate through categories like Notes, Videos, Documents, and Links.
- Use tags to filter and find specific content quickly.
-
π Share Your Brain:
- Use the "Share Brain" feature to generate a shareable link for your collection.
- Others can import your shared content into their own Second Brain.
-
π Sign Up or Log In:
- Create a new account or log in with your existing credentials.
-
β Add Content:
- Click the "Add Content" button.
- Paste the link or upload content from supported sources like Twitter, YouTube, or Google Docs.
- Assign tags to categorize the content.
-
ποΈ Organize Content:
- Use the sidebar to navigate through categories like Notes, Videos, Documents, and Links.
- Filter content by tags for quick access.
-
βοΈ Edit or Delete Content:
- Select any item to edit its details or delete it from your collection.
-
π Share Your Collection:
- Use the "Share Brain" feature to generate a shareable link.
- Share the link with others to allow them to import your content into their own Second Brain.
-
π Search for Content:
- Use the search bar to find specific items by title, tags, or content type.
-
Frontend:
- βοΈ React.js (for building the user interface)
- π¨ Tailwind CSS (for styling)
-
Backend:
- π’ Node.js with Express.js (for API and server-side logic)
- π MongoDB with Mongoose (for database and data modeling)
-
Authentication:
- π JSON Web Tokens (JWT) for secure user authentication.
-
Other Tools:
- π
bcryptjsfor password hashing. - π
cryptofor generating unique identifiers.
- π
-
Clone the repository:
git clone https://github.com/your-username/second-brain.git cd second-brain -
Install server dependencies:
cd Server npm install -
Set up server environment variables:
- Create a
.envfile in theServerdirectory. - Add the following variables:
MONGO_URL=your-mongodb-connection-string JWT_SECRET=your-jwt-secret PORT=8000 FRONTEND_URL=http://localhost:5173
- Create a
-
Start the server:
npm run dev
-
Install client dependencies:
cd ../Client npm install -
Start the client:
npm run dev
-
Open the app:
- Navigate to
http://localhost:5173in your browser.
- Navigate to
We welcome contributions to Second Brain! To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add your message here" - Push to your branch:
git push origin feature-name
- Open a pull request on GitHub.