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
Roman numeral conversion with python

Roman numeral conversion Discipline: Programming Languages Student: Paulo Henrique Diniz de Lima Alencar. Language: Python Description Responsible for

Paulo Alencar 1 Jul 11, 2022
Draw random mazes in python

a-maze Draw random mazes in python This program generates and draws a rectangular maze, with an entrance on one side and one on the opposite side. The

Andrea Pasquali 1 Nov 21, 2021
ROS Foxy + Raspi + Adafruit BNO055

ROS Foxy + Raspi + Adafruit BNO055

Ar-Ray 3 Nov 04, 2022
Here You will Find CodeChef Challenge Solutions

Here You will Find CodeChef Challenge Solutions

kanishk kashyap 1 Sep 03, 2022
Automation in socks label validation

This is a project for socks card label validation where the socks card is validated comparing with the correct socks card whose coordinates are stored in the database. When the test socks card is com

1 Jan 19, 2022
Bootstraparse is a personal project started with a specific goal in mind: creating static html pages for direct display from a markdown-like file

Bootstraparse is a personal project started with a specific goal in mind: creating static html pages for direct display from a markdown-like file

1 Jun 15, 2022
Tutor plugin for integration of Open edX with a Richie course catalog

Richie plugin for Tutor This is a plugin to integrate Richie, the learning portal CMS, with Open edX. The integration takes the form of a Tutor plugin

Overhang.IO 2 Sep 08, 2022
Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources.

Graphene Metanode is a locally hosted node for one account and several trading pairs, which uses minimal RAM resources. It provides the necessary user stream data and order book data for trading in a

litepresence 5 May 08, 2022
The last walk-through project in code institute diploma course

Welcome Rocky.C, This is the Code Institute student template for Gitpod. We have preinstalled all of the tools you need to get started. It's perfectly

Rocky.C 1 Jan 31, 2022
Nag0mi ctf problem 2021 writeup

Nag0mi ctf problem 2021 writeup

3 Apr 04, 2022
One destination for all the developer's learning resources.

DevResources One destination for all the developer's learning resources. Find all of your learning resources under one roof and add your own. Live ✨ Y

Gaurav Sharma 33 Oct 21, 2022
A carrot-based color palette you didn't know you needed.

A package to produce a carrot-inspired color palette for python/matplotlib. Install: pip install carrotColors Update: pip install --upgrade carrotColo

10 Sep 28, 2021
A numbers extract from string python package

Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/FayasNoushad/Numbers-Extract/blob/main/LICENS

Fayas Noushad 4 Nov 28, 2021
An open-source Python project series where beginners can contribute and practice coding.

Python Mini Projects A collection of easy Python small projects to help you improve your programming skills. Table Of Contents Aim Of The Project Cont

Leah Nguyen 491 Jan 04, 2023
ToDo - A simple bot to keep track of things you need to do

ToDo A simple bot to keep track of things you need to do. Installation You will

3 Sep 18, 2022
Problem 5: Fermat near-misses

Problem 5: Fermat near-misses fermatnearmiss This is a script that computes fermat nearm misses when the -f option is set and requires users to input

CHRIS BYRON (Int0x80) 1 Jan 08, 2022
Adds a Bake node to Blender's shader node system

Bake to Target This Blender Addon adds a new shader node type capable of reducing the texture-bake step to a single button press. Please note that thi

Thomas 8 Oct 04, 2022
This package tries to emulate the behaviour of syntax proposed in PEP 671 via a decorator

Late-Bound Arguments This package tries to emulate the behaviour of syntax proposed in PEP 671 via a decorator. Usage Mention the names of the argumen

Shakya Majumdar 0 Feb 06, 2022
Black-Scholes library implemented as a Cairo smart contract

Cairo Black-Scholes Library Black-Scholes library implemented as a Cairo smart contract. All inputs, outputs, and internal calculations use 27-digit f

Aditya Raghavan 47 Dec 19, 2022
Little tool in python to watch anime from the terminal (the better way to watch anime)

anipy-cli Little tool in python to watch anime from the terminal (the better way to watch anime) Has a resume playback function when picking from Hist

sdao 97 Dec 29, 2022