Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nasirovx/neonews
π°NeoNews is a backend project designed to provide APIs for news management, including authorization, authentication, favorites functionality, and Swagger documentation. The project is containerized using Docker for easy deployment.
https://github.com/nasirovx/neonews
deployment django-rest-framework docker favorites news newsapi swagger
Last synced: about 2 months ago
JSON representation
π°NeoNews is a backend project designed to provide APIs for news management, including authorization, authentication, favorites functionality, and Swagger documentation. The project is containerized using Docker for easy deployment.
- Host: GitHub
- URL: https://github.com/nasirovx/neonews
- Owner: nasirovx
- Created: 2024-07-14T17:12:05.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-07-24T22:11:35.000Z (5 months ago)
- Last Synced: 2024-07-25T00:33:59.158Z (5 months ago)
- Topics: deployment, django-rest-framework, docker, favorites, news, newsapi, swagger
- Language: Python
- Homepage: https://my-sait-b7cc-ls4ge41bs-nasirovxs-projects.vercel.app/
- Size: 27.5 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: news/__init__.py
Awesome Lists containing this project
README
# π° NeoNews
NeoNews is a backend project designed to provide APIs for news management, including authorization, authentication, favorites functionality, and Swagger documentation. The project is containerized using Docker for easy deployment.
## π Features
News API: Endpoints for creating, retrieving, updating, and deleting news articles.
Authorization & Authentication: Secure access with JWT.
Favorites: API endpoints for managing favorite news articles.
Swagger: API documentation with Swagger UI.
Docker: Containerized application for easy deployment.## π Project Structure
neonews/
βββ main/
β βββ __pycache__/
β βββ migrations/
β βββ templates/
β βββ __init__.py
β βββ admin.py
β βββ apps.py
β βββ models.py
β βββ tests.py
β βββ urls.py
β βββ views.py
βββ neonews/
β βββ __pycache__/
β βββ __init__.py
β βββ asgi.py
β βββ settings.py
β βββ urls.py
β βββ wsgi.py
βββ news/
β βββ __pycache__/
β βββ migrations/
β βββ __init__.py
β βββ admin.py
β βββ apps.py
β βββ models.py
β βββ serializers.py
β βββ tests.py
β βββ urls.py
β βββ views.py
βββ news_images/
βββ venv/
β βββ Include/
β βββ Lib/
β βββ Scripts/
β βββ pyvenv.cfg
βββ .dockerignore
βββ db.sqlite3
βββ Dockerfile
βββ manage.py
βββ requirements.txt
βββ rundocker.sh
βββ runsite.sh## π οΈ Setup and Installation
Prerequisites
Docker
Docker Compose
Installation
1. Clone the repository:
git clone https://github.com/nasirovx/neonews.git
cd neonews
2. Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
3. Install the dependencies:
pip install -r requirements.txt
4. Run the application with Docker:
docker-compose up --build## 𧩠Usage
Access the API at http://localhost:8000/news/.
Access Swagger UI for API documentation at http://localhost:8000/swagger/.
## ποΈ API Endpoints
## News
GET /news/list/ - List all news articles
GET /news/detail// - Retrieve a specific news article
GET /news/category/ - List all category articls## Authentication
POST /token/ - Obtain JWT token
POST /token/refresh/ - Refresh JWT token
## Favorites
GET //favorites/ - List all favorite news articles
POST /favorites/ - Add a news article to favorites
DELETE /favorites// - Remove a news article from favorites## π License
This project is licensed under the MIT License.## β¨ Acknowledgements
This project was purchased and further developed by nasirovx.