India Today Astrology App

Overview

India Today Astrology App

Introduction

This repository contains the code for the Backend setup of the India Today Astrology app as a part of their recruitment process for internship.

Please find the code migrated to Node.js in the Node Code folder.

Relevant Links

Table Of Content

Development Environment

- python version: python3.9.7 windows-64    # https://www.python.org/downloads/release/python-397/
- PostgreSql version 13.4         			# https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
- text editor: VSCode    					# https://code.visualstudio.com/download
- terminal: Windows Terminal     			# https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701

Dependencies

Install the following Python packages

pip install -r requirements.txt

Prerequisites

Clone the repository

git clone https://github.com/pranjaldube/astrology-app.git
cd indiaToday
  • Open the PostgreSQL shell. You can find the PSQL Shell in the Start Menu.
  • The shell will prompt you for Server, Database, Port, and Username details. Set it to default by clicking on the Enter button in the keyboard without providing any value. Finally, the shell will prompt you for the Password. Provide the password that you used during the PostgreSQL installation.
  • Create a PostgreSQL database via the following steps (here, kesha and 1234 are dummy user credentials):
CREATE DATABASE indiatoday;
CREATE USER kesha WITH PASSWORD '1234';
ALTER ROLE kesha SET client_encoding TO 'utf8';
ALTER ROLE kesha SET default_transaction_isolation TO 'read committed';
ALTER ROLE kesha SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE indiatoday TO kesha;

To make sure that you have connected and uploaded schema to the PostgreSQL database.

python manage.py makemigrations
python manage.py migrate

Load the dummy database to PostgreSQL with

python manage.py loaddata dumpdata.json

Usage

Run the server

python manage.py runserver

The app will be served at http://127.0.0.1:8000/home

You should also create superuser to view Django-admin dashboard

python manage.py createsuperuser

And login with your credentials at http://127.0.0.1:8000/admin to view all the tables and their data.

Models

Defined in indiaToday/astroApp/models.py.

  • AstrologerDetails
  • Reports
  • BannerOffers
  • Horoscopes
  • Questions
  • Testimonials

URL Endpoints

Defined in indiaToday/astroApp/urls.py and methods defined in indiaToday/astroApp/views.py

/home: GET request to http://127.0.0.1:8000/home returns combined GET request data from all 6 APIs below, each designed for specific model as mentioned in the problem statement.

  • /astro_data: List of all astrologers and their details.

  • /questions_data: Get question categories from API and show them in the dropdown list.

  • /horoscopes_data: Get all horoscopes list from API

  • /banneroffers_data : Get details from API of the images and redirection screen when clicked.

  • /reports_data: List of all the reports.

  • /testimonials_data: Get customer feedback and show them in the horizontal list.

    NOTE : Although the 6 APIs would be used to retrieve data (hence the GET method), but they have been equipped additionally with POST, PUT and DELETE methods.

Images

Sample images of use case goes here.

Owner
Pranjal Pratap Dubey
Pranjal Pratap Dubey
RELATE is an Environment for Learning And TEaching

RELATE Relate is an Environment for Learning And TEaching RELATE is a web-based courseware package. It is set apart by the following features: Focus o

Andreas Klöckner 311 Dec 25, 2022
An app about keyboards, originating from the design of u/Sonnenschirm

keebapp-backend An app about keyboards, originating from the design of u/Sonnenschirm Setup Firstly, ensure that the environment for python is install

8 Sep 04, 2022
An example of Connecting a MySQL Database with Python Code

An example of Connecting And Query Data a MySQL Database with Python Code And How to install Table of contents General info Technologies Setup General

Mohammad Hosseinzadeh 1 Nov 23, 2021
Liquid Rocket Engine Cooling Simulation

Liquid Rocket Engine Cooling Simulation NASA CEA The implemented class calls NASA CEA via RocketCEA. INSTALL GUIDE In progress install instructions fo

John Salib 1 Jan 30, 2022
A python script to turn tabs into spaces the right way.

detab A python script to turn tabs into spaces the right way. detab turns all tabs into spaces, not just leading tabs. Not all tabs have the same leng

1 Jan 26, 2022
XHacks 2021 Startup Track Winner: Be Heard. Educate, Enact, Empower. No voice left behind. (backend)

Be Heard: X Hacks 2021 Submission Educate, Enact, Empower. No voice left behind. Inspiration To say 2020 was an eventful year would be an understateme

3 Jul 14, 2022
Arcpy Tool developed for ArcMap 10.x that checks DVOF points against TDS data and creates an output feature class as well as a check database.

DVOF_check_tool Arcpy Tool developed for ArcMap 10.x that checks DVOF points against TDS data and creates an output feature class as well as a check d

3 Apr 18, 2022
A python trivium implemention

A python trivium implemention

tnt2402 1 Nov 12, 2021
Tool for working with Direct System Calls in Cobalt Strike's Beacon Object Files (BOF) via Syswhispers2

Tool for working with Direct System Calls in Cobalt Strike's Beacon Object Files (BOF) via Syswhispers2

150 Dec 31, 2022
A simple project which is a ecm to found a good way to provide a path to img_dir in gooey

ECM to find a good way for img_dir Path in Gooey This code is just an ECM to find a good way to indicate a path of image in image_dir variable. We loo

Jean-Emmanuel Longueville 1 Oct 25, 2021
NYCU(NCTU)-差勤-助教

NCTU-TA-fill 填寫 差勤-助教時數 有沒有覺得在差勤系統填助教時數有點浪費生命? 今天有個懶鬼浪費好多時間幫大家寫了code 只要填好的必要的資料,就可以讓電腦自動幫你完成差勤助教的時數填寫喔! https://pt-attendance.nctu.edu.tw/verify/userL

14 Dec 21, 2021
Simple Python tool to check if there is an Office 365 instance linked to a domain.

o365chk.py Simple Python script to check if there is an Office365 instance linked to a particular domain.

Steven Harris 37 Jan 02, 2023
Identify and annotate mutations from genome editing assays.

CRISPR-detector Here we propose our CRISPR-detector to facilitate the CRISPR-edited amplicon and whole genome sequencing data analysis, with functions

hlcas 2 Feb 20, 2022
A Python application that simulates the rolling of a dice, randomly picking one of the 6 faces and then displaying it.

dice-roller-app This is an application developed in Python that shuffles between the 6 faces of a dice, using buttons to shuffle and close the applica

Paddy Costelloe 0 Jul 20, 2021
Repo created for the purpose of adding any kind of programs and projects

Programs and Project Repository A repository for adding programs and projects of any kind starting from beginners level to expert ones Contributing to

Unicorn Dev Community 3 Nov 02, 2022
VirtualBox Power Driver for MAAS (Metal as a Service)

vboxpower VirtualBox Power Driver for MAAS (Metal as a Service) A way to manage the power of VirtualBox virtual machines via the MAAS webhook driver.

Saeid Bostandoust 131 Dec 17, 2022
Генератор отчетов на Python с использованием библиотеки docx для работы с word-файлами и запросов к сервису

Генератор отчетов на Python с использованием библиотеки docx для работы с word-файлами и запросов к сервису

Semyon Esaev 2 Jun 24, 2022
Simplified web browser made in python for a college project

Python browser Simplified web browser made in python for a college project. Web browser has bookmarks, history, multiple tabs, toolbar. It was made on

AmirHossein Mohammadi 9 Jul 25, 2022
Minutaria is a basic educational Python timer used to learn python and software testing libraries.

minutaria minutaria is a basic educational Python timer. The project is educational, it aims to teach myself programming, python programming, python's

1 Jul 16, 2021
A simple calculator made with tkinter.

Simple Calculator A simple calculator made with tkinter. Requirements None, only you need to have windows 😉 ...Enjoy! Installation Clone this reposit

Abhyush 2 Jan 11, 2022