PyBlog — Project Structure

Pradyot Prakash
2 min readApr 12, 2022

--

Photo by Alex Lion on Unsplash

Content

  1. Project Structure
  2. Firebase Setup
  3. Authentication
  4. Profile [WIP]
  5. Links [WIP]
  6. Final Remark [WIP]

Project Structure

I will be going with the basic project structure for Python,

PyBlog Folder Structure
Folder Structure
  • Generated Files — .idea, venv
  • .gitignore — Files to be ignore for VCS. Took the python template from https://github.com/github/gitignore.
  • data — Will contain all files which will be required by the project.
  • doc — Documentation related to the project.
  • firebase — A python package which contains the implementation of Firebase, containing the functionalities required of Firebase by this project.
  • pyblog — A python package which contains the implementation of project, user flow and other this related to PyBlog.
  • src — A python package which containscommon functionalities required in the project, like constants, utility, validators, etc.
  • main.py — Entry point of the project.
  • setup.py — Contain the project basic details and also the external libraries which will be required by this project.
  • README.md — Main README for the project.

Above shows the main project structure of the project which I will be using for this project.

External Packages which I am using are

  1. firebase-admin — Will help in connecting to Firebase and it’s other features like Firestore, Authentication and Storage.
  2. loguru — Will be used for showing log messages on the console.
  3. PyInquirer — A better way of asking something from user.
  4. pylint — For lint purpose
  5. urlib3 — For making a remote call. Will get to this on why this is needed.

To install all the libraries and packages run the below command after setting up the project

pip3 install .
Install packages

This will install all the packages, setup your project based on the details you provide in setup.py.

Now it’s time to start implementing things in the project.

Let’s setup Firebase first

This article will be updated as I get new questions and experience. If you have any new question please provide it in the comments, will add it to the list.

Follow for getting the notification when new articles are published.

Follow me on Twitter and GitHub.

--

--

No responses yet