Giter Site home page Giter Site logo

dokosho02 / django-rss-reader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hazadus/django-rss-reader

0.0 0.0 0.0 4.95 MB

Online RSS Reader. In early stage of development.

Home Page: http://rss.hazadus.ru/

JavaScript 0.26% Python 46.90% CSS 25.25% Makefile 0.38% HTML 27.13% Dockerfile 0.08%

django-rss-reader's Introduction

Online RSS Reader

Inspired by amazing NetNewsWire Mac/iOS app – the best RSS reader out there!

🏗️The app is in very early stage of development.🚧

Main branch is auto-deployed at http://rss.hazadus.ru/.

Arc screenshot

Libraries and Tools Used

  • Django
    • django-allauth: Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.
    • django-debug-toolbar: Best debugging tool for Django.
  • Celery: simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system.
  • RabbitMQ: most widely deployed open source message broker.
  • Feed Parsing:
    • feedparser: Universal Feed Parser is a Python module for downloading and parsing syndicated feeds.
    • beautifulsoup4: Beautiful Soup is a library that makes it easy to scrape information from web pages.
    • dateutil: The dateutil module provides powerful extensions to the standard datetime module, available in Python.
  • Serving App in Production:
    • gunicorn: WSGI HTTP Server for UNIX, fast clients and sleepy applications.
    • whitenoise: Radically simplified static file serving for Python web apps.
    • nginx: nginx (engine x) is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.
  • Styling:
  • Misc:
    • environs: environs is a Python library for parsing environment variables.
    • coloredlogs: The coloredlogs package enables colored terminal output for Python’s logging module.
    • coverage: Coverage.py measures code coverage, typically during test execution.

Running in Dev Mode

Create .env file with the following variables:

SECRET_KEY=django-secret-key
DEBUG=True
DB_NAME=postgres
DB_USER=postgres
DB_PASSWORD=postgres
DB_HOST=localhost
DB_PORT=5432CELERY_BROKER_URL=amqp://rmuser:rmpassword@localhost:5672//

Containers db, mq should be up and running in background.

Use celery -A django_project worker -E to start the worker.

Use make run to start the app.

Deploy

Create .env file with the following variables:

SECRET_KEY=django-secret-key
DEBUG=False
SENTRY_DSN=sentry-dsn-only-in-production-(optional)

Use docker compose up -d to run the app.

Dev Notes

Building Tailwind styles

npx tailwindcss -i ./static/src/input.css -o ./static/styles.css
# or
npx tailwindcss -i ./static/src/input.css -o ./static/styles.css --watch

Building fixtures for tests

# Create fresh DB
python -m manage migrate
# Create test users with subscriptions
python -m manage add_test_data
# Fetch feeds for test users
python -m manage update_feeds
#
# Mark some stuff as read, some as favorite...
#
# Dump all data to fixtures
make dumpdata

References

Repo Activity

Repo Activity

django-rss-reader's People

Contributors

hazadus avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.