w24 PYTHON Project Instructions

Down and install Docker Desktop:
Sign up for Docker HUB:
How to Sign Up for Docker Hub to Share Docker Containers
To sign up for Docker Hub and start sharing Docker containers, you can follow these steps:
Create a Docker ID:
A Docker ID is required to access Docker Hub and share container images. You can create a Docker ID for free if you don't have one.
To do this, visit the Docker Hub website and sign up for a Docker account

Create a Repository:
After creating a Docker ID, you will need to create a repository on Docker Hub to push your Docker images.
To create a repository, sign in to Docker Hub and select the option to create a repository on the Docker Hub welcome page

Explore Available Images:
Once you have signed up and created a repository, you can explore available images from the community and verified publishers on Docker Hub using your Docker ID
Share Your Images:
After completing the above steps, you will be able to share your Docker images on Docker Hub.

By following these steps, you can sign up for Docker Hub and start sharing your Docker containers with the community.

Sample GitHUB repository:


File submission upload locations:

Save and close and upload to
w24 PYTHON Project 2024W_CSD 4523_5


Project Delivery Notes:

April 8: We see to use Docker to put your Application code into a Docker Container.

April 1: Your tasking now is to use class time to work on delivering the Project
Our Project Concept: is that you are delivering a PRODUCT Which is your Pythonic Information System: Video: will have 2 purposes: A. Explainer 'screen cast video to teach people how your PYTHONIC Information System works to automate the operation of their Business Domain B. Marketing Video to "sell" your Product
I will checkpoint with the teams to see how you are coming along:
Latex Document: 1. Put your Python Code into your Latex Document. 2. Describe your Business Domain, Business OBJECTS, and Usage Cases
Google Site: - LINK to Video hosted on YouTube
GITHUB repository:
SQLite : file attachment
JSON: Export using MONGO DB Compass to GIT Documents.
Links to :
Latex PDF:
getting your GITHUB Url
documenting your Business Domain and Business Objects
PYTHON code in your GITHUB
LINK to your DockerHUB
Website: LINKS to LATEX and YOUTUBE Video
Youtube Video


Note on setting up the TEAM GIT HUB REPO

Make 1 GitHub Repository : 1 per team
Put the LINK to GitHub into your Google Sites Website and Latex Document
Ensure that all team members can access
Ensure all team members have access.

Setting Up a GitHub Repository and Sharing Access with Team Members

GitHub is a widely used platform for version control and collaboration on software development projects.

Setting up a GitHub repository and sharing access with team members is a crucial part of modern software development practices.

Here are detailed instructions for students to set up a GitHub repository and share access with their team members:

1. **Create a GitHub Account**: - If you haven't already, go to [GitHub]( and create a new account. Use a professional username and fill in your profile with accurate information.
2. **Sign In to GitHub**: - Sign in to your GitHub account using your credentials.
3. **Create a New Repository**: - Click on the "+" sign in the top right corner of the webpage and select "New repository" from the dropdown menu.
4. **Fill in Repository Details**: - Enter a name for your repository. Choose a name that is descriptive and related to the project you are working on. - Add a brief description of your project. This will help team members and others understand the purpose of the repository.
5. **Choose Visibility and Initialize with a README**: - Select the visibility of your repository. Choose between public (visible to anyone) and private (visible only to collaborators you specify). - Optionally, initialize the repository with a README file. This file can provide an introduction to the project and instructions for getting started.
6. **Add a .gitignore file and Choose a License**: - You can add a .gitignore file to specify which files and directories should be ignored by Git. - Choose an open source license. This is important for making your project open and transparent to others.
7. **Create the Repository**: - Click the "Create repository" button to create the new repository with the provided settings.
8. **Invite Team Members**: - Click on the "Settings" tab in the repository menu. - Select "Manage access" from the options on the left sidebar. - Click on the "Invite a collaborator" button. Enter the GitHub usernames or email addresses of your team members and click "Add [username/email]" to invite them.
9. **Accept the Invitation**: - Each team member will receive an invitation via email and notifications on GitHub. They will need to accept the invitation to become a collaborator on the repository.
10. **Setting Permissions for Collaborators**: - As the repository owner, you can choose to give your collaborators read, write, or admin permissions. This can be configured in the "Manage access" settings.
11. **Cloning the Repository**: - Each team member needs to clone the repository to their local machine using the command `git clone [repository URL]` in their terminal.
12. **Start Collaborating**: - Now that all team members have access to the repository, they can start collaborating by pushing and pulling changes to and from the repository.


By following these detailed instructions, students will be able to set up a GitHub repository for their project and share access with all team members. This will facilitate collaboration, version control, and efficient project management throughout the development process.
Instructor’s Latex Document:
Materials on Software Engineering:
Example of the kind of Excel Sheet you might
Lab Worksheets:

The course project will give you an arena in which to exercise all your new PYTHON Application Development Skills.

This project will see you create a 3 Tier Model View Controller PYTHONIC information system - which will be the realization of
(A) Start by describing in detail your Business Domain in your Latex Document
(B) Usage Cases which you will design: What functionalities must your system deliver
I will be demostrating but not formally covering in depth the best of breed software engineering methodology for turning
Requirements and Use Cases --> { PYTHON objects and database Schema }

Unified Process

Lexical Analysis:

How Unified Process works:

For the JOB Interview:

For the Front end:
PyFlask, Django, and Other Python Web Frameworks {SOA}
For the data persistence layer:

Your Controller Layer will be PYTHON OBJECTS: Generated from your Business Domain.

#### Lecture: PyFlask, Django, and Other Python Web Frameworks

- Welcome to today's lecture on Python web frameworks.
- In this lecture, we will discuss two popular Python web frameworks, PyFlask (Flask) and Django, along with an overview of other service-oriented architecture (SOA) Python frameworks.
- By the end of this lecture, you will have a good understanding of these frameworks and their key features.

**1. PyFlask (Flask):**
- Flask is a microframework known for its simplicity and ease of learning.
- It is ideal for beginners and experienced developers alike.
- Flask provides essential features for web development, such as routing, request handling, and session management.
- Unlike Django, Flask does not include built-in features like ORM support, authentication, and authorization.
- Flask allows developers to choose the tools they want to use, providing more flexibility.
- It is suitable for small projects or APIs.

**2. Django:**
- Django is a full-stack web framework that offers a comprehensive set of tools and features.
- It follows the model-view-controller (MVC) architectural pattern and emphasizes reusability and rapid development.
- Django includes an ORM, authentication system, form handling, and an admin interface.

- It is suitable for building complex web applications and includes everything you need to get going.

- Django provides a solid foundation for full-stack development and scalability.
- It has an in-built Object-Relational Mapper (ORM) for flexible database access.

**3. Other SOA Python Frameworks:**

- Besides Flask and Django, there are other Python frameworks suitable for service-oriented architecture (SOA) development.

- Some examples of macro web frameworks include TurboGears, Web2Py, Pyramid, and Django itself.

- Microframeworks like Flask, CherryPy, and Bottle are also available.

- These frameworks offer different levels of complexity, scalability, and flexibility to suit various project requirements.

- Flask (PyFlask) is a lightweight microframework known for its simplicity and flexibility.
- Django is a full-stack framework with a comprehensive set of tools and features for complex web applications.
- Other SOA Python frameworks, both macro and micro, provide different options for developers based on their project needs.
- Choosing the right framework depends on factors such as project complexity, scalability requirements, and personal preferences.

That concludes our lecture on PyFlask, Django, and other Python web frameworks. I hope you now have a better understanding of these frameworks and their features. Feel free to explore them further and choose the one that best suits your needs.

Thank you for attending this lecture. If you have any questions, please let me know!
Project Delivery in teams of up to 4 members.

Deliverables: A Docker Container and some Documentation

Lab on Dockerizing your PYTHON APP:

Ideate and Describe a Business Domain which your PYTHONIC information system will automate:
Your business domain description must be sufficiently detailed that you can create your
(1) Data base -= Json or SQL
(2) PYTHON Object Hierarchy
from the Description.

In your Latex Document, you will present :
Business Domain Description
Use cases for your Information System to deliver.

*— The use cases are the Business Activities which the business will perform using your PYTHONIC Information System.
You final deliverable of your Pythonic Information System will be the format of a Docker container.

For your Documentation, you will present:
A. A Latex Document → output to PDF: Linked to Google Sites website Describe your Business Domain, Use Cases, Operation of your Product. Using as the Latex Editor.
B. A Google Sites Product website detailing the operation of your Project.
C. A Video produced with the free 30 day trial version of Camtasia: This will be a “marketing” video that you will use to sell your product to customers, and demonstrate how your Product works.
Your Video will be uploaded to and you will the UPLOAD LINK in your Google Sites Website and your your Latex

Set Up Steps:
Latex: Digital typesetting systems. Output to KINDLE or PDF (or Word, HTML, PowerPoint, PostScript, many other formats)
Document engineering system: (Text programming system)
** Get setup by creating the team account.

Here is a LINK to the Instructor’s Latex Overleaf document to see an example of the kinds of things you might do:

** — Start getting setup with your TEAMS.

Appoint a Team Librarian: Make a text file (1 per team)named as TeamName.txt

Into this text file, put:
Make 1 LATEX document for your Team: Your edit link for your Latex PROJECT
Team members’ info: name / student id / email
Describe in your TEXT file (and also your Latex Document):
What is your Business Domain which you will be modelling in your Pythonic Information System
What usage cases will your team be delivering in the project.
Put all this stuff into your LATEX Document.
Contents of Latex Document will include:
Google Sites URL
YouTube Video LINK
Overleaf Editable LINK.
Download LINK to your Docker Container.
Team GitHUB LINK for your Code. See the section at the top on how to setup your Team GITHUB REPO.

The Purpose of the Video is to Train people to use, and inspire people to buy, your Product.
All team members must have must “face time” on the explainer video.

Download the Trial Version of

Save and close and upload to
w24 PYTHON Project 2024W_CSD 4523_5

How to create your Google Sites Website to market your Product:

Step 1:
Step 2: upload your PDF exported from Latex Overleaf to Google Drive

Setting up your Latex:
Make chapters for the main topics of your Project Presentation
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.