News Web App π° built using Python Django π and NewsAPI π Fetches latest news. π It is a Progressive Web App (PWA) which enables users π¨βπ©βπ¦ to install it on their mobile phones π± (Android & iOS) as well as Desktop π» (Windows, Linux, etc.) π₯
Checkout the live Website here!
Find the detailed project report here! π
Akash Shrivastava π¨βπ»π΄ββοΈπΈ |
Akanksha Tamboli π»π¨ |
Shreejit Nair πππ± | Samiksha Naik ππΈ |
Note : Make sure you have Python version 3.8+ and Postgres 14 or above
Environment Setup
$ git clone https://github.com/Akash1362000/News-Web-App.git
$ cd News-Web-App/
Create .env
file (refer .env.example
file)
Generate SECRET_KEY
from here
Get your NEWS_API_KEY
from here
Install Postgres Latest version from here
Install pgAdmin from here
Create a Database using pgAdmin by following the steps mentioned here
Update your DATABASE_URL
in .env
with your DB details like USER
, PASSWORD
and DB_NAME
If virtualenv is not installed (What is virtualenv?):
$ pip install virtualenv
Create a virtual environment
$ virtualenv venv
Activate the environment everytime you open the project
$ source venv/Scripts/activate
Install requirements
$ pip install -r requirements.txt
$ pre-commit install
$ python manage.py migrate
Create superuser
$ python manage.py createsuperuser
That's it. You're all Set!
To run the server:
$ python manage.py runserver
Open your desired browser and head over to http://127.0.0.1:8000/
To exit the environment
$ deactivate
If you want to use Docker to run this project, you need to do the following steps:
- Install Docker for your OS from here
- Run
docker --version
anddocker compose --version
[In Windows, you need to rundocker-compose --version
to check the version] - If you see both the versions, then Docker is successfully installed on your system and you can follow along
- If you don't see the version, check with your Docker installation
- Open
docker-compose.yml
file and update the value ofNEWS_API_KEY
with your generated key. You can generate it from here - Run
docker compose up -d
- Run
docker exec -it news_web_app sh -c "python manage.py createsuperuser"
to create a new superuser - Access the app at http://localhost:8000
- To stop the container, run
docker compose stop
from the project root - To restart the container, run
docker compose start
from the project root - To delete the container, run
docker compose down
from the project root
Leave a β from here if you like π
MIT License
Copyright (c) 2020 Akash Shrivastava
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.