Notion Link is a full-stack monorepo application that allows you to interact with the Notion API to create, read, and update pages in a Notion database. The application consists of a Flask backend and a React frontend, using Tailwind CSS for styling.
notion-link/
├── .gitignore
├── notion_client.log
├── README.md
├── README-ptbr.md
├── backend/
│ ├── .env
│ ├── app.py
│ ├── config.py
│ ├── requirements.txt
│ ├── __init__.py
│ └── notion_api/
│ ├── notion_client.py
│ ├── __init__.py
├── frontend/
│ ├── .gitignore
│ ├── package-lock.json
│ ├── package.json
│ ├── postcss.config.js
│ ├── README.md
│ ├── tailwind.config.js
│ ├── public/
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ └── src/
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ ├── reportWebVitals.js
│ ├── setupTests.js
│ └── components/
│ └── ModalEditPage.js
Install dependencies:
Navigate to the backend
directory and create a virtual environment:
cd backend
python3 -m venv .venv
source .venv/bin/activate # On Windows, use .\.venv\Scripts\activate
Install required packages:
pip install -r requirements.txt
Set up environment variables:
Create a .env
file in the backend
directory and add your environment variables:
NOTION_TOKEN=your_notion_token
DATABASE_ID=your_database_id
Run the Flask server:
python app.py
Navigate to the frontend
directory and install dependencies:
cd ../frontend
npm install
Run the development server:
npm start
NotionClient
class for interacting with the Notion API.The backend provides three main endpoints:
The frontend allows you to view, create, and edit pages in the Notion database.
Feel free to contribute to this project. Submit pull requests and issue reports to the GitHub repository.
This project is licensed under the MIT License. See the LICENSE file for more details.