Welcome to Python Cheat Sheet, your go-to online roadmap for concise and straightforward explanations of key Python concepts. Whether you're a Python 3 learner or in need of a quick refresher on essential Python statements, this site is tailored for you.
Our content is designed for individuals aged 18 to 45 who are either studying Python or have a working knowledge of Python 3, providing a handy reminder for those seeking rapid access to crucial Python information.
Python Cheat Sheet's mission is to facilitate the swift retrieval of essential Python information. We strive to present accurate content in a user-friendly and intuitive manner. Each topic includes links to the official Python 3 documentation for a more in-depth understanding.
- Concise Information: Get to the heart of Python concepts with simple and clear explanations.
- User-Friendly Design: Navigate through the site effortlessly with our intuitive layout.
- Official Documentation Links: Access detailed information directly from the official Python 3 documentation.
- Feedback Form: Share your thoughts and suggestions via our feedback form to help us improve your user experience.
Whether you're a Python enthusiast, student, or professional, Python Cheat Sheet is your go-to resource for quickly grasping and reinforcing Python knowledge.
Link to the live site - Python Cheat Sheet
- User Experience UX
- Features
- Technologies Used
- Testing
- Deployment
- How to Clone
- Codeanywhere Reminders
- Credits
- Acknowledgements
Table of contents generated with markdown-toc
- As a user I want to be able to fully understand the purpose of Python Cheat Sheet from the main landing page.
- As a user I want the navigation to be intuitive and easy to understand, with a clear purpose and easy access to information.
- As a user I want easy links that can lead me off page in a different tab to view the full menu and map locations of each item when applicable.
- As a user I want to be able to contact Python Cheat Sheet and share my own personal experience of using the site.
- As a user I want to be able to get more expansive information about key python concepts throughout python documentation.
The project templates and wireframes for Python Cheat Sheet were designed using Balsamiq. The designs vary from the end layout in some places due to creative decisions made throughout the development process.
The home page serves as the central hub, outlining the site's primary objectives and purpose. Content includes an introduction to the Python language, reasons for learning it, and valuable links for tutorials and Python download.
The cheat sheet page, arguably the most crucial, offers users essential information on key Python concepts. Users can seamlessly navigate through topics using left side the topics navigation bar.
The feedback page provides visitors with the opportunity to express gratitude, share wishes, or provide valuable suggestions for site improvement.
- Contains the site's logo, linking back to the home page.
- Navigation bar facilitating easy movement throughout the site.
- Links to the developer's LinkedIn profile and the GitHub repository housing the site's source code.
- Contains useful links to python documentation and online python compiler.
Enables users to swiftly move between topics, enhancing overall navigation efficiency.
Python Cheat Sheet uses two font family. The first one is Inter, being used for all text on pages.
And the second one is Lexend, being used for headers elements of HTML. Both of the fonts are used with backup font of
sans-serif. The selection of these fonts is intentional, aiming to prioritize readability and deliver an optimal design for users.
The fonts were selected from Google Fonts.
The final color scheme is a reflection of my preferences as a programmer, aiming for both aesthetic appeal and user-friendly design:
The background color, Rich Black, was chosen for its non-intrusive quality, providing a comfortable user experience without causing eye strain.
For text color, I opted for an off-white shade. This intentional choice creates a strong contrast with the background, enhancing the readability and clarity of information throughout the site.
Additionally, shades derived from Rich Black are strategically used for buttons and various blocks. This approach subtly highlights specific elements, contributing to a visually cohesive design.
Python Cheat Sheet is designed to make accessing key python concepts as easy for the user as possible. There are many user-friendly features which are formatted and styled in accordance with best practice. Users will be familiar with the layout and flow of the site as it doesn't stray too far from the expected norm.
The home page is an introduction what Python is. It tells user the main features of this programing language, why you should learn this and give user link to guide "How to get python on your machine".
Header for laptop screens and higher include:
- Logo which lead user to the Home page.
- "Home" link lead user to the Home page as well.
- "Get started" lead user to the "Variables" topic.
- "Feedback" lead user to feedback page.
- LinkedIn logo lead user to LinkedIn account of site's developer.
- GitHub logo lead user to github repository of Python Cheat Sheet.
Header for smartphones and tabletsartphones and tablets include:
- Burger button open the topics navigation bar.
- Chat button lead user to feedback page.
- Logo which lead user to the Home page.
- LinkedIn logo lead user to LinkedIn account of site's developer.
- GitHub logo lead user to github repository of Python Cheat Sheet.
The Topic Navigation Bar consist of topics and their subtopics. This feature allows user quickly navigate through key python topics. For phones and tablets screens this navbar is hidden and needs to be opened.
Topic Navigation Bar for phones and tablets:
Topic Navigation Bar for laptops and PC:
The Footer contains links to python documentation and python online compiler. The footer allows users to get more information about python
The Feedback form allows users to leave their impression about the python cheat sheet and rate it.
- HTML5 - Provides the structure of the site information, elements and website content.
- CSS3 - Provides the styling of the HTML content.
- Balsamiq - Wireframing software used to plan and design website templates.
- GitHub - An online host for web and software development projects. Used to store the repository and deploy the finished website.
- Git - Software for tracking changes to files. Used with GitPod to add, commit and push code changes to the repository on GitHub.
- Slack - An online messaging program designed for workplace collaboration. Used for advice and guidance from peers and tutors.
- Highlight code was used to highlight and style python code.
- ChatGPT was used to create more readable and sensible text.
The Python Cheat Sheet has been tested extensively. All the code for every page of the site has been run through The W3C HTML Markup Validation Service and the The W3C CSS Markup Validation Service to test the code for any errors. On the final tests, no errors on any pages were found.
Python Cheat Sheet was tested thoroughly for responsiveness through multiple software applications and online resources. Most of the testing was done manually through Chrome Developer Tools using the multiple preset device dimensions in the toolbar. Once the site layout was displaying well on every screen size, further testing was done using Am I Responsive. Once the site was deployed on GitHub the link was also used to view the pages on multiple physical devices such as an Apple iPad, Apple iPhone 6, Samsung Galaxy and Apple MacBook Pro.
Bugs are an inevitable part of development. The project was built HTML and CSS with no use of frameworks and this has its shortcomings. The lack of javascript limits functionality and interactivity of the site.
- 
Incorrect link to my LinkedIn Fixing Commit. 
- 
Scroll didn't appear when a content overflow a container (Stuck overflow solution) 
- 
A bug was caused due to improperly placed #nav-topics-hideradio button which hide navigation topics bar. The button was nested inside the navigation bar that don't allow to close the bar. Extracting this element from the bar enabled to close it and make styling more simple (Fixing commit)
- 
The topics navigation bar cover the main and footer blocks because of its scrollbar and border width (Fixing commit) 
- 
Header element overlapped main element content when navigate to topics by anchor links (Fixing commit). 
- 
Too low contrast between background and .selected-page class (Fixing commit). 
- 
Submitting the form without selecting any radio button caused a bug where the form couldn't be submitted, and no validation message was shown. This issue was due to the buttons having the 'display: none' property (Fixing commit). 
- On mobile and tablet screens, the topics navigation bar can be toggled between closed and open states. However, there is only one way for a user to close the bar, making its use less convenient. If a user scrolls down, they will not have any options to close the bar except by scrolling back up. *On the feedback page, users are required to rank the site. However, if a user attempts to submit the feedback form without selecting a ranking, the form cannot be sent, and no error message is displayed. This issue arises because I replaced the radio input with its corresponding icon labels.
The Python Cheat Sheet repository is stored on GitHub. The site was created using GitPod and the live site is hosted on GitHub Pages. This is a guide to deploy a site on GitHub Pages using GitHub.
- Sign in to GitHub and go to the repositories menu by clicking on your avatar in the top right corner, then select the 'Your repositories' option .
- Click to open the repository and click on the settings icon to open the settings menu for the repository.
- In the settings menu, click on the pages tab on the left side of the screen.
- Under Branch, select branch:main, leave the folder on root and click save.
- The page will then automatically refresh and provide a link to the published site when it has finished processing.
Congratulations! The site was deployed:)
The live link for Python Cheat Sheet can be found here - Python Cheat Sheet
- Log into your account on GitHub
- Go to the repository of this project Python cheat sheet
- Click on the code button, and copy your preferred clone link.
- Open the terminal in your code editor and change the current working directory to the location you want to use for the cloned directory.
- Type 'git clone' into the terminal, paste the link you copied in step 3 and press enter.
To run a frontend (HTML, CSS, Javascript only) application in Codeanywhere, in the terminal, type:
python3 -m http.server
A button should appear to click: Open Preview or Open Browser.
To run a frontend (HTML, CSS, Javascript only) application in Codeanywhere with no-cache, you can use this alias for python3 -m http.server.
http_server
To run a backend Python file, type python3 app.py, if your Python file is named app.py of course.
A button should appear to click: Open Preview or Open Browser.
In Codeanywhere you have superuser security privileges by default. Therefore you do not need to use the sudo (superuser do) command in the bash terminal in any of the lessons.
To log into the Heroku toolbelt CLI:
- Log in to your Heroku account and go to Account Settings in the menu under your avatar.
- Scroll down to the API Key and click Reveal
- Copy the key
- In Codeanywhere, from the terminal, run heroku_config
- Paste in your API key when asked
You can now use the heroku CLI program - try running heroku apps to confirm it works. This API key is unique and private to you so do not share it. If you accidentally make it public then you can create a new one with Regenerate API Key.
This section will credit the sources of content and media for Python Cheat Sheet.
- For creating sensible and readable content was used ChatGPT
- Fonts were imported from Google Fonts.
- The Python Cheat Sheet colour palette was inspired by Dark Blue Colour Scheme.
- Information about using CSS variables
- Semantic HTML: What It Is and How to Use It Correctly
- How to create Blurry Header
- Gradient Creator
- How to create Border with radius and gradient
- How to create Typewriter Effect
- Make math calculations in CSS using calc()
- Custom scrollbar
- Online table of contents generator
- Example of readme file I took form Disney-Food-Guide repisitory.
- Favicon and logo were created by using icons8
- Icons were imported from Font Awesome.
The Python Cheat Sheet was developed as the first portfolio project for Code Insitute, marking the initial step in the completion of the Higher Diploma in Full Stack Software Development, consisting of five projects. I want to express my gratitude to my mentor, Luke Buchanan, for his invaluable assistance and encouragement during the entire development phase. Additionally, I extend my thanks to the Slack Community. To everyone who contributed, thank you for being part of my journey towards becoming a better developer.
Dmytro Bulavenko











