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.
showcase.mp4
- π 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