Free Brain is a web application built using the MERN (MongoDB, Express.js, React.js, Node.js) stack. It allows users to store and organize various resources, including links, code snippets, documents, and videos, making them easily accessible and retrievable. Additionally, an AI feature will be integrated to summarize content upon user request.
- User Authentication: Secure login and signup functionality.
- Resource Management: Store and categorize links, code snippets, documents, and videos.
- AI Integration: Summarize content using AI upon request.
- Search & Filter: Easily retrieve stored content.
- Responsive UI: Optimized for both mobile and desktop users.
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- AI Feature: OpenAI API (or a similar AI summarization tool)
Ensure you have the following installed:
- Node.js
- MongoDB
- npm or yarn
-
Clone the Repository
git clone https://github.com/your-username/free-brain.git cd free-brain -
Install Dependencies
npm install
-
Set Up Environment Variables Create a
.envfile in the root directory and add the following:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key REACT_APP_BACKEND_URL=http://localhost:5000 AI_API_KEY=your_ai_api_key
-
Start the Backend
cd backend npm start -
Start the Frontend
cd frontend npm start -
Access the Application Open http://localhost:3000 in your browser.
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth | User registration |
| POST | /auth | User authentication |
| GET | /contents | Fetch all resources |
| POST | /contents | Add a new resource |
| DELETE | /contents/:contentId | Delete a resource |
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-name). - Commit your changes (
git commit -m "Add feature"). - Push to the branch (
git push origin feature-name). - Open a pull request.
This project is licensed under the MIT License. Feel free to use and modify it!
For any inquiries, reach out at devlprnitish@gmail.com or open an issue on GitHub.