QuillAI is an innovative project inspired by the functionality of telegra.ph, focusing on content moderation and enhanced search capabilities. The goal of this repository is to explore full-stack development utilizing FastAPI for the backend and React for the frontend, all while integrating MongoDB for data storage.
This project is a learning endeavor aimed at addressing common issues in content management systems by leveraging generative AI for assistance and improvement.
- Python: Minimal version
^3.10 - Poetry: Dependency management tool
- FastAPI: Async API backend (
^0.111.0) - fastapi-cors: For HTTP operations (
^0.0.6) - Motor: Async MongoDB driver (
^3.4.0) - Faker: Generate test data (
^25.2.0) - NLTK: Natural Language Toolkit for moderation data (
^3.8.1) - Pandas: Data processing library (
^2.2.2) - Better Profanity: Library for content moderation (
^0.7.0)
- Node.js: To install all frontend dependencies
- Axios: For HTTP requests (
^1.6.8) - React: Base front-end framework (
^18.3.1) - React-DOM: For rendering DOM elements (
^18.3.1) - React Router DOM: For managing front-end routes (
^6.23.1) - React Scripts: Project tools (
^5.0.1) - Snyk: Security testing tool for code (
^1.1291.0)
-
Clone the repository:
git clone https://github.com/Pirate-Emperor/QuillAI.git cd QuillAI -
Install Poetry for Python dependencies:
pip install poetry
-
Install Python dependencies:
poetry install
-
Run the backend using Uvicorn in a Poetry shell:
poetry shell py backend/main.py
-
Navigate to the frontend directory:
cd frontend -
Install React/JS dependencies:
npm install
-
Compile styles from Sass to CSS:
npm run compile:sass
-
Run the React frontend (as a separate server):
npm start
Note: It is advisable to start with the frontend, followed by the backend, to ensure smooth integration.
For clarity and convenience, tasks and reminders are documented directly in the code via TODO comments. While the code may not adhere to the highest standards, it is functional and serves its purpose effectively. Continuous improvement is a priority.
Feel free to fork the repository, make changes, and submit pull requests. Contributions are welcome!
This project is licensed under the Pirate-Emperor License. See the LICENSE file for details.
Pirate-Emperor
- GitHub: Pirate-Emperor
- Reddit: PirateKingRahul
- Twitter: PirateKingRahul
- Discord: PirateKingRahul
- LinkedIn: PirateKingRahul
- Skype: Join Skype
- Medium: PirateKingRahul