Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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.