Brainly is a modern content management and knowledge organization platform that helps you collect, organize, and share various types of content from across the web.
-
Multi-Content Support: Save and organize different types of content:
- YouTube videos
- Twitter posts
- Web links
- Documents
- Tags
-
Clean, Modern UI: Beautiful and responsive interface built with React and Tailwind CSS
- Collapsible sidebar for better space utilization
- Responsive design for mobile and desktop
- Dark/light mode support
-
Content Organization:
- Filter content by type
- Search functionality
- Visual indicators for different content types
-
Sharing Capabilities:
- Share your entire knowledge base with others
- Individual content sharing
-
Frontend:
- React with TypeScript
- Tailwind CSS for styling
- Vite for build tooling
-
Backend:
- Node.js
- Express
- MongoDB
- Node.js (v14+)
- npm or yarn
- MongoDB instance (local or cloud)
-
Clone the repository:
git clone https://github.com/yourusername/brainly.git cd brainly -
Install frontend dependencies:
cd brainly-fe npm install # or yarn install
-
Install backend dependencies:
cd ../brainly-be npm install # or yarn install
-
Set up environment variables:
- Create a
.envfile in thebrainly-bedirectory
PORT=3000 MONGODB_URI=mongodb://localhost:27017/brainly JWT_SECRET=your_jwt_secret - Create a
-
Start the development servers:
Backend:
cd brainly-be npm run dev # or yarn dev
Frontend:
cd brainly-fe npm run dev # or yarn dev
-
Open your browser and navigate to
http://localhost:5173
- Click the "Add Content" button in the dashboard
- Select the content type (YouTube, Twitter, Link, Document, Tag)
- Enter a title and the URL/link for the content
- Click "Add Content" to save
- Use the search bar to find specific content by title
- Click on the filter tabs to view content by type
- Use the sidebar navigation to access different content categories
- Click the "Share Brain" button in the dashboard
- Copy the generated link
- Share the link with others to give them access to your content collection
brainly/
├── brainly-fe/ # Frontend codebase
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── icons/ # SVG icons as React components
│ │ ├── pages/ # Page components
│ │ ├── App.tsx # Main application component
│ │ └── main.tsx # Entry point
│ ├── index.html # HTML template
│ └── package.json # Frontend dependencies
│
└── brainly-be/ # Backend codebase
├── src/
│ ├── controllers/ # Route controllers
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── index.ts # Entry point
└── package.json # Backend dependencies
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
