A full-stack personal knowledge management system built with React and TypeScript. Extended Brain helps users organize, store, and retrieve information efficiently, serving as a second brain for managing personal knowledge and insights.
π Live Demo: https://react-extended-brain-u4n1.vercel.app
- Overview
- Features
- Tech Stack
- Project Structure
- Getting Started
- Development
- Deployment
- Contributing
- License
Extended Brain is a modern knowledge management application that allows users to capture, organize, and access their thoughts, notes, and information in a structured way. Built with a focus on user experience and performance, it provides a seamless interface for managing personal knowledge bases.
- User Authentication: Secure user registration and login system
- Content Management: Create, read, update, and delete notes and content
- Profile Management: Personalized user profiles and settings
- Responsive Design: Fully responsive UI built with Tailwind CSS
- Type-Safe: Built entirely with TypeScript for enhanced reliability
- Modern UI Components: Clean and intuitive user interface
- Fast Performance: Optimized with Vite for lightning-fast development and builds
- React 18 - Modern UI library
- TypeScript - Type-safe JavaScript
- Vite - Next-generation frontend tooling
- Tailwind CSS - Utility-first CSS framework
- Lucide React - Beautiful icon library
- React Router (implied from pages structure) - Client-side routing
- Node.js - JavaScript runtime
- TypeScript - Type-safe backend development
- Express - Web application framework
- Database integration (schema and db files present)
react-extended_brain/
βββ project/ # Frontend application
β βββ src/
β β βββ components/ # Reusable React components
β β β βββ content/ # Content-related components
β β β βββ layout/ # Layout components
β β β βββ ui/ # UI primitives
β β βββ pages/ # Page components
β β β βββ auth/ # Authentication pages
β β β βββ content/ # Content management pages
β β β βββ profile/ # User profile pages
β β βββ services/ # API services and integrations
β β βββ store/ # State management
β β βββ types/ # TypeScript type definitions
β β βββ utils/ # Utility functions
β β βββ App.tsx # Main application component
β β βββ main.tsx # Application entry point
β β βββ index.css # Global styles
β βββ index.html # HTML entry point
β βββ vite.config.ts # Vite configuration
β βββ tailwind.config.js # Tailwind configuration
β βββ package.json # Frontend dependencies
β
βββ secondbrain/ # Backend application
βββ src/
β βββ index.ts # Server entry point
β βββ db.ts # Database configuration
β βββ schema.ts # Database schema
β βββ middleware.ts # Express middleware
βββ tsconfig.json # TypeScript configuration
βββ package.json # Backend dependencies
- Node.js (v18 or higher)
- npm or yarn package manager
- Git
- Clone the repository
git clone https://github.com/Ekagra444/react-extended_brain.git
cd react-extended_brain- Install Frontend Dependencies
cd project
npm install- Install Backend Dependencies
cd ../secondbrain
npm install- Environment Setup
Create .env files in both project and secondbrain directories:
Frontend (.env)
VITE_API_URL=http://localhost:3000Backend (.env)
PORT=3000
DATABASE_URL=your_database_url
JWT_SECRET=your_jwt_secret
NODE_ENV=development- Database Setup
Run database migrations (if applicable):
cd secondbrain
npm run migratecd project
npm run devThe frontend will start on http://localhost:5173
cd secondbrain
npm run devThe backend will start on http://localhost:3000
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLintnpm run typecheck- Run TypeScript type checking
npm run dev- Start development server with hot reloadnpm run build- Compile TypeScriptnpm start- Start production servernpm run typecheck- Run TypeScript type checking
# Run frontend tests
cd project
npm test
# Run backend tests
cd secondbrain
npm testcd project
npm run buildThe production-ready files will be in the dist directory.
cd secondbrain
npm run buildThe compiled JavaScript will be in the dist directory.
The frontend is deployed on Vercel. To deploy your own instance:
- Push your code to GitHub
- Connect your repository to Vercel
- Configure environment variables
- Deploy
The backend can be deployed to services like:
- Heroku
- Railway
- Render
- AWS EC2/ECS
- DigitalOcean
Ensure you configure environment variables and database connections appropriately.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a 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
- Follow TypeScript best practices
- Use ESLint and fix all linting errors
- Write meaningful commit messages
- Add comments for complex logic
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
Ekagra
- GitHub: @Ekagra444
- Project Link: https://github.com/Ekagra444/react-extended_brain
- React team for the amazing framework
- Vite team for the blazing-fast build tool
- Tailwind CSS for the utility-first CSS framework
- All contributors who help improve this project
If you have any questions or need help, please:
- Open an issue on GitHub
- Contact the maintainer through GitHub
Note: This project is actively maintained. Star β the repository if you find it useful!