Python Chatter is a RESTful API backend for a blogging platform, built with Python. It provides endpoints for publishing articles, user authentication, commenting, and user interactions.
- User registration and authentication (JWT)
- Publish, edit, and delete articles
- Comment on articles
- Like and bookmark articles
- Retrieve articles by author or topic
- Send and receive private messages between users
- RESTful API endpoints with FastAPI
- SQLite database integration
- Input validation and error handling
- API documentation with Swagger UI
- Modular and extensible codebase
- Python 3.8+
- pip
- virtualenv
- FastAPI
- SQLAlchemy
- SQLite
- JWT Authentication
Start the development server with:
uvicorn app.main:app --reload
- Clone the repository:
git clone https://github.com/yourusername/python-chatter.git
- Navigate to the project directory:
cd python-chatter
- Install dependencies:
pip install -r requirements.txt
- Create a
.env
file in the project root and add your environment variables (e.g., secret keys, database URL).
You can use the provided.env.sample
file as a template:(e.g., secret keys, database URL):env SECRET_KEY=your_secret_key DATABASE_URL=sqlite:///./python_chatter.db
Start the API server:
python app.main:app.py
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the MIT License.