This full-stack blog application supports CRUD operations for blog posts, which can be written and rendered in Markdown. It also features a summarization capability powered by Python through MetaCall, offering a variety of AI services to choose from.
- 📝 Create, edit, and delete blog posts
- 🔍 Retrieve blog posts via REST APIs
- 📄 Write and render blog posts in Markdown
- 🤖 AI-Powered Summarization (via Python & MetaCall)
- ⚡ Supports multiple AI services for summarization (e.g., Gemini, Hugging Face, Claude, OpenAI, etc.)
Ensure you have the following installed before running the application:
- Nodejs
- Metacall CLI
Before running the project, navigate to the server directory, rename .env.example to .env, and add your configurations like:
MONGO_URI=your_mongodb_connection_string
PORT=4000
HUGGING_FACE_KEY=your_api_key
OPENAI_API_KEY=your_api_key
GEMINI_KEY=your_api_key
EDEN_Authorization=your_api_key
ANTHROPIC_API_KEY=your_api_key
DEEPSEEK_API_KEY=your_api_key
- Clone the repository:
git clone https://github.com/mohyware/polyglot-blog
- Install MetaCall CLI (More Info):
curl -sL https://raw.githubusercontent.com/metacall/install/master/install.sh | sh
- Backend (Server) Setup
cd server
metacall npm install
metacall pip3 install dotenv huggingface_hub openai anthropic genai
- Frontend (Client) Setup
cd client
npm install
- Start the Backend Server
cd server
npm run dev # Start development mode
# OR
npm start # Run production mode
- Start the Frontend Client
cd client
npm run dev # Start development mode
# OR
npm run build # Build the project before running start
npm start # Run production mode
- Open your browser and navigate to http://localhost:3000
You can run tests by executing the following command:
cd client
npm run test
cd server
npm run test