- ✨ Features
- 🛠️ Tech Stack
- ⚡ Quick Start
- 🔧 Installation
- 📁 Project Structure
- 🔐 Environment Variables
- 🚀 Deployment
- 🤝 Contributing
- 📝 License
- 🔗 Link Management: Save and organize web links, tweets, videos, and documents
- 🏷️ Smart Tagging: Categorize content with custom tags for easy discovery
- 🔍 Quick Search: Find your saved content instantly
- 📱 Responsive Design: Works seamlessly on desktop, tablet, and mobile
- 🔒 Secure Authentication: JWT-based user authentication
- 👤 User Profiles: Personal content management
- 🔐 Password Protection: Secure password handling
- 🔗 Shareable Links: Generate public links to share your content collections
- 📤 Bulk Sharing: Share multiple items at once
- 🌍 Public Access: Anyone can view shared content without registration
- ⚡ Fast Performance: Optimized with Vite and modern React patterns
- 🎨 Modern UI: Clean, intuitive interface with Tailwind CSS
- 📱 Mobile-First: Responsive design that works on all devices
- 🔄 Real-time Updates: Instant feedback and state management
Try it out now! 👉 Second Brain App
- React 18 - Modern UI library with hooks
- TypeScript - Type-safe development
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first CSS framework
- React Query - Server state management
- React Hot Toast - Beautiful notifications
- Lucide React - Beautiful icons
- Node.js - JavaScript runtime
- Express.js - Web framework
- MongoDB - NoSQL database
- JWT - Authentication
- Bun - Fast JavaScript runtime
- TypeScript - Type safety
- Vercel - Frontend hosting
- Render - Backend hosting
- GitHub - Version control
- Node.js (v18 or higher)
- Bun (v1.2.10 or higher) - Install Bun
- MongoDB - Local or cloud instance
# Clone the repository
git clone https://github.com/Jimil1407/brainly-app.git
cd brainly-app
# Install dependencies and start both servers
npm run dev
This will start both frontend and backend servers automatically!
```bash
git clone https://github.com/Jimil1407/brainly-app.git
cd brainly-app
### 2. Backend Setup
```bash
cd backend
bun install
Create a .env
file in the backend directory:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
PORT=3000
cd frontend
npm install
Option A: Start Both Servers
# From the root directory
npm run dev
Option B: Start Separately
# Terminal 1 - Backend
cd backend
bun run dev
# Terminal 2 - Frontend
cd frontend
npm run dev
- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
brainly-app/
├── 📁 frontend/ # React frontend application
│ ├── 📁 src/
│ │ ├── 📁 components/ # React components
│ │ │ └── 📁 ui/ # UI components
│ │ ├── 📁 services/ # API services
│ │ └── 📁 main.tsx # App entry point
│ ├── 📁 public/ # Static assets
│ └── package.json
├── 📁 backend/ # Node.js backend API
│ ├── 📁 src/
│ │ ├── 📁 middleware/ # Express middleware
│ │ ├── 📁 schema/ # Database schemas
│ │ └── index.ts # Server entry point
│ └── package.json
├── 📁 docs/ # Documentation
└── README.md
# Database
MONGODB_URI=mongodb://localhost:27017/second-brain
# Authentication
JWT_SECRET=your-super-secret-jwt-key
# Server
PORT=3000
NODE_ENV=development
# API Configuration
VITE_API_URL=http://localhost:3000/api/v1
- Connect your GitHub repository to Vercel
- Set build command:
cd frontend && npm run build
- Set output directory:
frontend/dist
- Add environment variables in Vercel dashboard
- Connect your GitHub repository to Render
- Set build command:
cd backend && bun install
- Set start command:
cd backend && bun run start
- Add environment variables in Render dashboard
# Frontend
VITE_API_URL=https://your-backend-url.onrender.com/api/v1
# Backend
MONGODB_URI=your-production-mongodb-uri
JWT_SECRET=your-production-jwt-secret
NODE_ENV=production
We welcome contributions! Here's how you can help:
git clone https://github.com/Jimil1407/brainly-app.git
cd brainly-app
git checkout -b feature/amazing-feature
- Follow the existing code style
- Add tests for new features
- Update documentation
git commit -m "Add amazing feature"
git push origin feature/amazing-feature
- Describe your changes clearly
- Include screenshots if applicable
- Reference any related issues
- Code Style: Use Prettier and ESLint
- Commits: Use conventional commit messages
- Testing: Write tests for new features
- Documentation: Update README for new features
This project is licensed under the MIT License - see the LICENSE file for details.