The Second Brain Framework application is a cross-platform personal knowledge management system designed to help you capture, organize, and connect your thoughts and ideas effectively. Inspired by the "Building a Second Brain" methodology, this application aims to provide a robust and intuitive environment for managing your personal knowledge base.
- Systematic Information Capture: Effortlessly gather notes, ideas, and insights from various sources.
- Atomic Note Management: Create and manage small, self-contained notes focused on a single concept, promoting clarity and reusability.
- Semantic Connections: Establish meaningful relationships between notes, enabling you to discover new insights and patterns in your knowledge.
- Cross-Platform Availability: Seamlessly access and synchronize your knowledge base across web and mobile platforms.
- Intuitive User Interface: Enjoy a clean and user-friendly interface designed for focused knowledge work.
This application is built using a combination of modern technologies:
- Backend: Ruby on Rails - Provides a robust and scalable API for handling data and business logic.
- Databases:
- MySQL - Used for structured data, such as user information, project details, and tags.
- MongoDB - Used for flexible and schema-less storage of atomic notes, allowing for rich content and metadata.
- Mobile: Java (Android) - Powers the native Android mobile application, providing offline access and device-specific features.
- Web: JavaScript (React/Next.js) - Delivers a responsive and interactive web experience, enabling access from any modern browser.
The project is organized into the following directories:
sql_scripts/
: Contains SQL scripts for setting up the MySQL database, including schema definitions, migrations, and seed data.backend_rails/
: Houses the Ruby on Rails API backend, including models, controllers, services, and tests.mobile_java/
: Contains the Java codebase for the Android mobile application, implementing MVVM architecture and local storage.frontend_web/
: Holds the JavaScript codebase for the React-based web application, leveraging Next.js for server-side rendering and routing.project_misc/
: A collection of project-related documentation, including this README, the Contributing guidelines, the Security Policy, the Code of Conduct, a sample License, and the Development Roadmap.
To get started with the Second Brain Framework application, follow these steps:
- Clone the repository:
git clone [repository_url] cd [repository_directory]
- Configure databases:
- Set up MySQL and create the necessary database schema using the provided
sql_scripts
. - Set up MongoDB and create the necessary collections.
- Update the
database.yml
files in thebackend_rails
project with your database credentials.
- Set up MySQL and create the necessary database schema using the provided
- Install dependencies:
- Navigate to the
backend_rails
directory and install the Ruby gems:bundle install
. - Navigate to the
frontend_web
directory and install the npm dependencies:npm install
. - Navigate to the
mobile_java
directory and set up your Android development environment.
- Navigate to the
- Execute database migrations:
- In the
backend_rails
directory, runrails db:migrate
to apply database migrations. - You may need to populate the database with seed data:
rails db:seed
.
- In the
We take the security of our application seriously. For details on our security practices and policies, please refer to the SECURITY.md file.
We welcome contributions from the community to help improve the Second Brain Framework! Please read our CONTRIBUTING.md file for guidelines on how to contribute effectively.
We are committed to fostering an inclusive and welcoming environment for all contributors. Please read our CODE_OF_CONDUCT.md file for details.
This project is licensed under the terms of the GNU General Public License v3. See the LICENSE.md file for more information.
For any questions, concerns, or feedback, please contact us at f.vasquez.tort@protonmail.me.
For an overview of the project's development plan and key milestones, see the Second Brain Project - Desarrollo Paso a Paso.md file.
Let's build the future of personal knowledge management together!