Skip to content

AI-powered note-taking system built with FastAPI, MongoDB, and Streamlit. Features smart note structuring, Feynman summaries, and bilingual support (EN/CN). Demonstrates full-stack development skills and AI integration for Python engineering portfolio.

License

Notifications You must be signed in to change notification settings

jeddstudio/ai-notes-system

Repository files navigation

ai-notes-system

An AI-powered note-taking system built with MongoDB and Streamlit. Features clever note structuring and AI summaries. Demonstrates full-stack development skills and AI integration for Python engineering portfolio.

Note

Development Notes

  • Detailed development process, technical decisions, and learning journey

Features

  • Create and save notes with title and content
  • Automatic timestamp for each note
  • View all notes in an expandable list
  • Copy notes in markdown format to the clipboard
  • Delete unwanted notes
  • MongoDB integration for persistent storage
  • Streamlit-based user interface

Feature Demonstration

AI Summaries

AI Notes System Demo

Markdown Note

AI Notes System Demo

Installation Instructions

  1. Clone the repository:

    git clone https://github.com/yourusername/ai-notes-system.git
    cd ai-notes-system
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows, use: venv\Scripts\activate
  3. Install the required dependencies:

    pip install -r requirements.txt
  4. Set up your environment variables:

    • Create a .env file in the root directory
    • Add your MongoDB URL and OpenAI API key:
      MONGODB_URL=your_mongodb_url
      OPENAI_API_KEY=your_openai_key
      

Usage Guide

  1. Start MongoDB:

    # If installed via Homebrew
    brew services start mongodb-community
    
    # Verify MongoDB is running
    brew services list
  2. Start the Streamlit application:

    # From the project root directory
    streamlit run src/main.py
  3. Using the Note-Taking System:

    • The application will automatically open in your default web browser
    • If not, navigate to the URL shown in the terminal (typically http://localhost:8501)
    • Create new notes using the input form
    • Notes will be automatically processed and structured
    • Use the search functionality to find specific notes
    • Toggle between English and Chinese language support as needed
  4. Running Tests:

    pytest tests/

About

AI-powered note-taking system built with FastAPI, MongoDB, and Streamlit. Features smart note structuring, Feynman summaries, and bilingual support (EN/CN). Demonstrates full-stack development skills and AI integration for Python engineering portfolio.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published