KittyCode is a full-stack secure messaging platform with end-to-end encryption, real-time communication, and multi-platform support.
- End-to-end encryption using Signal Protocol
- Real-time messaging with Socket.IO
- User authentication and authorization
- Friend management system
- Multi-platform support (Web & Mobile)
- Message delivery status tracking
- Secure key management
- Node.js & Express
- MongoDB (Mongoose)
- PostgreSQL
- Socket.IO for real-time communication
- JWT for authentication
- Signal Protocol for E2E encryption
- TweetNaCl for cryptographic operations
- React.js
- React Native (Mobile)
- Socket.IO Client
- State management (TBD)
- UI Framework (TBD)
- Machine Learning models for message analysis
- Natural Language Processing capabilities
KittyCode/
├── backend/ # Node.js Express backend
│ ├── config/ # Configuration files
│ ├── controllers/ # Request handlers
│ ├── middleware/ # Custom middleware
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── utils/ # Utility functions
├── frontend/ # React web application
│ └── kittycode/ # Frontend source code
├── reactnative/ # React Native mobile app
├── ml/ # Machine Learning components
└── docs/ # Documentation
- Node.js >= 14
- MongoDB
- PostgreSQL
- npm or yarn
cd backend
npm install
cp .env.example .env # Configure your environment variables
npm startcd frontend/kittycode
npm install
npm startcd reactnative
npm install
npx react-native run-android # For Android
npx react-native run-ios # For iOS- End-to-end encryption for all messages
- Secure key exchange using Signal Protocol
- JWT-based authentication
- Encrypted database fields
- Secure WebSocket connections
API documentation is available in the /docs directory, covering:
- Authentication endpoints
- Message handling
- Friend management
- Real-time events
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.