Establish your knowledge base Anytime, Anywhere, and in Any way!
BEFORE ANY CODE WORK:
- ALWAYS read this README.md first - NO EXCEPTIONS
- ALWAYS use the project structure to locate files
- ALWAYS understand the technology stack before making changes
AFTER ANY CODE WORK:
- ALWAYS verify all services still work together
- NEVER break the three-tier architecture (Frontend β Go API β Python AI)
- ALWAYS update documentation when making structural changes
NEVER DO THESE:
- NEVER modify ports 5173 (Frontend), 8080 (Go API), 8000 (Python AI)
- NEVER break the conda environment dependency ( sj for Python)
- NEVER change the startup scripts (start.bat, scripts/start-all.ps1)
- EVER introduce conflicting dependencies between services
- NEVER modify core architectural patterns without understanding all impacts
MODULE-SPECIFIC WORK:
- Frontend: React + TypeScript + Vite + Ant Design
- Go Backend: Gin framework, clean architecture
- Python Backend: FastAPI with async processing
CROSS-MODULE WORK:
- Understand the data flow: Frontend β Go API β Python AI β LLM
- Respect API contracts between services
- Maintain backward compatibility
AAAnyNotes is a comprehensive note-taking web application designed for modern educational environments. It combines intelligent AI-powered features with robust knowledge management capabilities, creating an ecosystem that serves both educators and students.
Built with a polyglot architecture, the system leverages the best of modern web technologies to deliver a seamless, responsive experience for knowledge creation, organization, and collaboration.
- Smart Note Management: Create, edit, and organize notes with rich text support
- AI-Powered Chat: Integrated large language model for intelligent content assistance
- User Authentication: Secure login system with JWT-based authorization
- Real-time Updates: Responsive UI with live data synchronization
- React 19 with TypeScript for type-safe development
- Vite for lightning-fast builds and development
- Ant Design for consistent, professional UI components
- Real-time streaming for AI chat interactions
- Go API Server (Gin framework) for high-performance HTTP services
- Python FastAPI service for AI model integration
- SQLite/PostgreSQL with GORM for data persistence
- Streaming responses for real-time AI interactions
- Responsive Design: Works seamlessly across desktop, tablet, and mobile
- Intuitive Interface: Clean, modern UI following best UX practices
- Fast Performance: Optimized for quick loading and smooth interactions
- Node.js 18+ and pnpm for frontend development
- Go 1.21+ for backend API
- Python 3.9+ with conda environment sj GLM API Key** for AI functionality (optional for basic features)
For the fastest setup, simply run:
./start.batThis will automatically:
- Start the Go backend server (http://localhost:8080)
- Launch the Python AI service (http://localhost:8000)
- Run the React development server (http://localhost:5173)
All services open in separate terminal windows for easy monitoring.
If you prefer manual control over each service:
cd frontend
pnpm install
pnpm dev # Start development server on http://localhost:5173
pnpm build # Build for production
pnpm lint # Run ESLintcd backend/go
go run cmd/api/main.go # Start API server on http://localhost:8080
go build ./... # Build all packages
go test ./... # Run testscd backend/python
conda activate sj # MUST use sj conda environment
python src/main.py # Start FastAPI server on http://localhost:8000- Environment Path:
D:/Environments/Miniconda/envs/sj - Activation Command:
conda activate sj - Full Python Startup:
D:/Environments/Miniconda/envs/sj/python.exe src/main.py
Frontend (5173) β Go API (8080) β Python AI (8000)
β£ β£ β£
React UI HTTP API FastAPI + GLM
- Authentication: JWT tokens with refresh mechanism
- API Communication: RESTful endpoints with async processing
- AI Integration: Streaming responses for real-time chat
- Data Persistence: GORM ORM with database abstraction
AAAnynotes/
βββ frontend/ # React + TypeScript frontend
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Page-level components
β β βββ api/ # API client code
β β βββ utils/ # Helper utilities
β βββ dist/ # Production build output
βββ backend/
β βββ go/ # Go HTTP API server
β β βββ cmd/api/ # Application entry point
β β βββ internal/ # Private application code
β β βββ infrastructure/ # External integrations
β βββ python/ # Python FastAPI AI service
β βββ src/
β β βββ api/ # API endpoints
β β βββ models/ # Data models
β β βββ services/ # Business logic
β β βββ config/ # Configuration
β βββ main.py # Service entry point
βββ config/ # Configuration files
βββ docs/ # Project documentation
βββ agentext/ # AI agent documentation
βββ scripts/ # Build and deployment scripts
- Development: Uses SQLite by default (no configuration needed)
- Production: Configure PostgreSQL connection in settings
- TypeScript: Strict type checking for frontend code
- Go fmt: Automatic code formatting for Go code
- ESLint: JavaScript/TypeScript linting
- Pydantic: Data validation for Python APIs
- Go:
go test ./...for backend tests - Python: pytest for FastAPI endpoint testing
- Frontend: React Testing Library for component tests
- Frontend:
pnpm buildcreates optimized production bundle - Go Backend:
go buildcreates standalone executable - Python Service: Package as Docker container for deployment
GET/POST /api/auth/*- Authentication and user managementGET/POST /api/notes/*- Note CRUD operationsGET/POST /api/chat/*- AI chat integration
POST /api/chat/stream- Streaming AI responses
We welcome contributions! Please follow our development guidelines:
- ALWAYS read this README.md first before making changes
- Follow the existing code style and patterns
- Add tests for new features
- Update documentation for any API changes
- Never break the three-service architecture
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: Report bugs via GitHub Issues
- Questions: Start discussions in GitHub Discussions
- Documentation: Check
agentext/for detailed technical docs
While the current implementation provides solid note-taking and AI chat functionality, we have exciting plans for the future:
- Smart Classroom Integration: Seamless LMS integration
- Knowledge Graph Visualization: Visual concept relationships
- Real-time Collaboration: Multi-user editing
- Voice-Activated Notes: Speech-to-text with AI categorization
- Cross-Device Sync: Seamless synchronization
- Advanced AI Features: Personalized learning paths
AAAnyNotes - Your intelligent knowledge companion for the modern learning journey.
Built with β€οΈ using React, Go, Python, and modern AI technologies