inflearn logo

Practical Streamlit for Python Developers — Build 2 Web Apps Yourself

This course is a 16-session, approximately 9-hour-and-30-minute practical course for developers with a foundation in Streamlit who want to build web apps ready for real-world deployment. Streamlit is a tool that can display a screen with just a few lines of code. That makes it easy to get started, but when you try to use it in practice, you run into a different set of challenges. How do you add login functionality? Where and how should passwords be stored? How can variables be shared across multiple pages? How do you prevent the entire screen from rerunning every time a form is submitted? This course addresses these challenges one by one. In the first half, you will review dataframes and chart visualizations, date and file-upload widgets, and Session State while building a mini dashboard. You will then begin the first project: an NLP analysis app. After setting up an Anaconda virtual environment and installing spaCy, neattext, wordcloud, and deep_translator, you will complete a single app by adding text statistics, part-of-speech analysis, word-cloud visualization, multilingual translation, and Korean sentiment analysis. You will also learn how to improve the app’s overall quality by structuring the interface with st . columns and st . expander and adding branding to the sidebar. The second half focuses on service-level features. You will manage member data with SQLite, examine the risks of storing passwords in plain text, and securely handle passwords using SHA-256 hashing. The course then covers theme customization, multi-page layouts and URL slugs, passing variables between pages, smart reading that can handle txt, PDF, and docx files, and controlling reloads with st . form and callbacks. The final three sessions cover advanced Python classes. By learning about their internal workings, encapsulation, inheritance, and special methods, you will build a foundation for structuring your code effectively. By the end of the course, you will be able to elevate Streamlit apps from something made “for practice” to something that is genuinely “usable.”

1 learners are taking this course

Level Intermediate

Course period Unlimited

Python
Python
streamlit
streamlit
NLP
NLP
data-visualization
data-visualization
SQLite
SQLite
Python
Python
streamlit
streamlit
NLP
NLP
data-visualization
data-visualization
SQLite
SQLite

What you will gain after the course

  • Data Display and Chart Visualization - Understand the difference between st . dataframe and st . table and implement dynamic CSV-based charts.

  • Create an NLP analysis app—with text statistics, part-of-speech analysis, word clouds, multilingual translation, and sentiment analysis features.

  • Authentication and database integration — Implement user management with SQLite and securely store passwords using SHA-256 hashing.

  • Document reading and form/callback handling - smart reading of txt, PDF, and docx files, with reloads controlled using st . form and callbacks.

  • Advanced Widgets and Session State - Build a mini dashboard with date/time/file upload widgets and state management.

  • Advanced layout design - Structure information using st . columns and st . expander, and apply sidebar branding.

  • Multi-page and theme settings - Covers page structure, URL slugs, sharing variables between pages, and theme customization.

  • Advanced Python Classes - A review of object-oriented syntax, including internal workings, encapsulation, inheritance, and special methods

Advanced Streamlit Web App Development Through Practical Projects: NLP, Dashboards, Databases, and Python Object-Oriented Programming

Develop practical web application development skills using Python and Streamlit. You will implement a wide range of features firsthand, from data visualization and interactive dashboard creation to natural language processing (NLP), text analysis, word clouds, multilingual translation, and sentiment analysis.

You will also learn how to integrate SQLite databases, implement sign-up and login functionality, hash passwords with SHA-256, create multi-page layouts, customize themes, and automatically read documents. Finally, you will learn how Python classes work, along with encapsulation, inheritance, and special methods, enabling you to write more structured and maintainable code.

This course focuses on practical skills that can be applied to data analysis, artificial intelligence, natural language processing, workflow automation, and web application development. Through 16 lessons, go beyond the basics and complete projects that you can use in real-world work and your portfolio.

What You’ll Learn

In this course, you will learn step by step how to develop web applications that can be applied in real-world work using Python and Streamlit.

  • Data Display and Visualization: Understand the difference between st.dataframe and st.table, and implement dynamic charts and data visualization features using CSV data.

  • Advanced Widgets and State Management: Create interactive dashboards that respond to user input using date, time, and file upload widgets, along with Session State.

  • Natural Language Processing (NLP) Applications: Develop an NLP app that integrates text statistical analysis, part-of-speech analysis, word cloud generation, multilingual translation, and sentiment analysis.

  • Advanced layout design: Use st.columns and st.expander to organize the screen systematically, and apply a sidebar and branding to design a user-friendly interface.

  • Database and user authentication: Integrate SQLite to manage user registration and user information, and learn how to store passwords using SHA-256 hashing.

  • Multi-page and theme configuration: Build an application consisting of multiple pages and implement URL slug configuration, sharing variables between pages, and theme customization.

  • Document processing and form control: Develop functionality to read and process TXT, PDF, and DOCX files, and use st.form and callback functions to control app reruns and state changes.

  • Python Object-Oriented Programming: Learn everything from the inner workings of classes to attribute control, encapsulation, inheritance, and special methods to write maintainable code.

This course consists of 16 lectures and aims to strengthen the practical skills required for data analysis, artificial intelligence, natural language processing, business process automation, and web application development. By implementing each feature firsthand, learners can systematically improve their project development skills using Python and Streamlit.

Before You Enroll

Prerequisites and Course Information

1. Prerequisites and Preparation

This course is an intermediate-level course for learners with foundational knowledge of Python and Streamlit. An understanding of Python’s basic syntax, functions, lists, dictionaries, and file input/output is required. Additionally, having some basic experience using Streamlit, such as st.write and basic widgets, will help you learn more effectively.

For the exercises, we recommend installing a code editor such as PyCharm or VS Code, as well as Anaconda. No prior knowledge of web development or HTML/CSS is required.

2. How to Study the Course

The course consists of 16 lessons, totaling approximately 9 hours and 30 minutes of video content. Watch each lesson in order, and use the provided practice source code and learning materials to write and run the code yourself.

It is important not only to understand the concepts but also to implement data visualization, NLP analysis apps, SQLite database integration, and multipage applications yourself. Reviewing the features learned step by step and completing each project will help enhance your ability to apply them in real-world settings.

3. Questions and Learning Support

If you encounter concepts that are difficult to understand or errors when running code during your studies, please use the course’s questions and discussion feature to leave a specific question. Including the error message, the code where the problem occurred, and the execution environment will help identify the issue.

4. Course Materials and Updates

The course includes hands-on source code and learning materials in DOCX and XMind formats. If changes occur to the course content or practice environment, the learning materials and content may be updated as necessary. However, the timing and scope of updates are not guaranteed separately.

Recommended for
these people

Who is this course right for?

  • Developers who have completed their introduction to Streamlit but haven’t been able to take their apps to a production-ready level

  • Data analysts and researchers who need to share data analysis results on the web

  • Practitioners who need to build internal tools using only Python, without a frontend

  • For those who want to know how to add service-essential features such as login and database integration

  • A learner who wants to build an app that visualizes NLP analysis results

  • Job seekers preparing for employment who need a web app project to showcase in their portfolios

  • Developers with 1–2 years of Python experience who want to review object-oriented syntax, such as classes.

Need to know before starting?

  • Understanding basic Python syntax (functions, lists, dictionaries, file input/output)

  • Basic experience using Streamlit (st . write and basic widgets are sufficient)

  • A code editor such as PyCharm or VS Code

  • Install Anaconda (used to set up the virtual environment for the NLP project)

  • No web development or HTML/CSS knowledge is required.

  • Practice source code and course materials (docx, XMind) are provided.

Hello
This is it learner

IT training programs led by hands-on experts and professional instructors in various IT fields, offering practical, hands-on courses in programming, software development, data analysis, artificial intelligence, networking, information technology, and more. Through educational content that reflects the latest IT technologies and industry trends, these programs help learners acquire both theoretical knowledge and practical skills while adapting to the rapidly changing IT environment.

More

Curriculum

All

16 lectures ∙ (9hr 29min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

Not enough reviews.
Please write a valuable review that helps everyone!

it learner's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!

Limited time deal ends in 4 days

$33,660.00

10%

$28.60