AutomatedNotion helps you learn English effortlessly. With NotionAPI, it quickly adds new words with translations, definitions, IPA pronunciation, audio, and images to your Notion workspace. Powered by OpenAI's ChatGPT, AutomatedNotion makes learning fun and personalized. Say goodbye to tedious tasks and hello to an exciting English learning adventure with AutomatedNotion.
Project Demo
Link Notion Template created by AutomatedBot
AutomatedNotion is a Node.js application built using TypeScript and the Express framework. It demonstrates a simple workflow for using environment variables to access various APIs and services, including OpenAI, LangChainJS, SerpAPI, NotionAPI, Text-To-Speech, IPA Pronunciation, and Cloudinary. The application includes various modules and tools to provide functionality for text generation, web scraping, database management, and media processing.
To set up and use this project, follow these steps:
- Clone the repository:
git clone https://github.com/FromSunNews/AutomatedNotion.git
- Install dependencies:
cd your-repo
npm install
- Create a .env file:
Create a file named
.env
in the root directory of the project and add the following environment variables:
APP_HOST=localhost
APP_PORT=7500
BUILD_MODE=dev
OPENAI_API_KEY=<your_openai_api_key>
SERPAPI_API_KEY=<your_serpapi_api_key>
NOTION_API_KEY=<your_notion_api_key>
NOTION_PAGE_ID=<your_NOTION_PAGE_ID>
CLOUDINARY_CLOUD_NAME=<your_cloudinary_cloud_name>
CLOUDINARY_API_KEY=<your_cloudinary_api_key>
CLOUDINARY_API_SECRET=<your_cloudinary_api_secret>
Replace <your_openai_api_key>
, <your_serpapi_api_key>
, <your_notion_api_key>
, <your_NOTION_PAGE_ID>
, <your_cloudinary_cloud_name>
, <your_cloudinary_api_key>
, <your_cloudinary_api_secret>
with your actual API keys and database credentials.
- Build the project:
npm build
- Start the server:
npm start
This command starts the server using the node
command and the dotenv
module to load environment variables from the .env
file.
- Access the endpoints:
- http://localhost:7500/v1/vocab/automated
- DataSample:
{
"vocabs": "Rom,Hertz,Bytes,Computerize,Storage,Application,Memory,Tape,Network,NICs,Sound Card,Graphics Card,Controller,System Unit,Driver card",
"title": "UNIT 1: The Internet"
}