Awesome Open Source
Awesome Open Source

Newspaper App

A web app made using the django framework. Frontend using html and bootstrap and sqlite3 is used as the database. You can add articles which can be viewed by anyone. Just make an account and you are good to go.

Requirements

Python 3.8
Django 2.2.10 And additional requirements are in Pipfile.

Setting up the Project

  • Download and install Python 3.8
  • Download and install Git.
  • Fork the Repository.
  • Clone the repository to your local machine $ git clone https://github.com/<your-github-username>/newspaper-app.git
  • Change directory to newspaper-app $ cd newspaper-app
  • Install pipenv $ pip3 install pipenv
  • Create a virtual environment and install all requirements from Pipfile $ pipenv install
  • Activate the env: $ pipenv shell
  • Make migrations $ python manage.py makemigrations
  • Migrate the changes to the database $ python manage.py migrate
  • Create superuser $ python manage.py createsuperuser
  • Run the server $ python manage.py runserver

Deployment

Here's a list of steps to be followed for deploying an app to heroku:

  • Run pipenv lock to generate the appropriate Pipfile.lock $ pipenv lock
  • Then create a Procfile which tells Heroku how to run the remote server where our code will live. $ touch Procfile
  • For now were telling Heroku to use gunicorn as our production server and look in our .wsgi file for further instructions. Update Procfile with - web: gunicorn <project_name>.wsgi --log-file -
  • Next install gunicorn which well use in production while still using Djangos internal server for local development use. $ pipenv install gunicorn==19.9.0
  • Finally update ALLOWED_HOSTS with '*' in settings.py file.
  • push the updates to the GitHub repository.
  • Login to heroku. $ heroku login
  • Create a new heroku app. $ heroku create <app_name>
  • Set git to use the name of your new app when you push to Heroku. $ heroku git:remote -a <app_name>
  • If there are no static files run $ heroku config:set DISABLE_COLLECTSTATIC=1
  • Push the code to Heroku. $ git push heroku master
  • Add free scaling so the app is actually running online. $ heroku ps:scale web=1

Contributing

Feel free to raise a issue or make a pull request to fix a bug or add a new feature. If you are new to open source you can first read about git by clicking here.

Communtiy Slack Channel

To get started, the first step is to meet the community. We use slack to communicate, and there the helpful community will guide you. Slack is an instant messaging service used by developers and users of GitHub. It uses chatrooms, where developers can join in and can talk about a particular topic. Click here to join our Slack Workspace.

Code Of Conduct

Check the code of conduct.



Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,047,598
Javascipt (1,047,597
Python (795,011
Python3 (795,001
Html5 (237,235
Html (237,235
Css (140,038
Github (43,703
Django (34,885
Git (34,433
Bootstrap (27,505
Jquery (26,471
Heroku (19,074
Xml (18,323
Article (14,107
Slack (13,024
Sqlite3 (9,762
Ajax (7,700
Zsh (7,210
Hacktoberfest2021 (3,366
Django Framework (799
Pipenv (184