Skip to content

Client/Server Development- MongoDB queries and creation through terminal, Python and Jupyter Dash Dashboard Implementation through integration

Notifications You must be signed in to change notification settings

tjhartline/SNHU-CS340

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SNHU-CS340

Client/Server Development- MongoDB queries and creation through terminal, Python and Jupyter Dash Dashboard Implementation through integration #Tammy Hartline October 2023

How do you write programs that are maintainable, readable, and adaptable?

Writing maintainable, readable, and adaptable code is a critical aspect of software development. To achieve this, I follow a set of best practices. Firstly, I break down complex problems into smaller, manageable components. This modular approach not only makes the code more maintainable but also simplifies debugging and maintenance. Secondly, I use descriptive variable and function names, which enhance code readability. For instance, in the CRUD Python module developed for Project One, clear and meaningful function names were crucial for understanding the purpose of each operation. Additionally, I prioritize code documentation, ensuring that comments and docstrings explain the code's logic and usage. This practice aids both maintainability and readability. Lastly, I focus on writing clean, concise, and efficient code, avoiding unnecessary complexity. By adhering to these principles, I create programs that are easier to maintain, understand, and adapt for future needs.

What were the advantages of working in this way, especially considering your work on the CRUD Python module from Project One, which you used to connect the dashboard widgets to the database in Project Two?

Working in this systematic manner provides several advantages. Firstly, it promotes code reusability. The CRUD Python module I developed for Project One served as a reusable component in Project Two. This reduced redundancy and minimized the chances of errors. Secondly, it enhances code maintainability. Any changes or updates needed to be made were concentrated in one central location, the CRUD module. This centralization simplifies maintenance and reduces the risk of introducing bugs when altering code. Furthermore, the modular approach fosters adaptability. The CRUD module could be extended to handle additional database functionalities in the future. For instance, it could be expanded to support more advanced queries or data transformations. Overall, this approach makes code development more efficient, consistent, and adaptable for future requirements.

How do you approach a problem as a computer scientist, and how did your approach to this project differ from previous assignments in other courses?

As a computer scientist, I approach problems systematically and methodically. I start by thoroughly understanding the problem's requirements and constraints. For the database and dashboard requirements in Project Two, this meant engaging with the client, Grazioso Salvare, to gain insights into their needs. Once I have a clear understanding, I proceed to design a solution. This design phase includes defining the data model, database schema, and user interface. It's essential to ensure that the solution is both technically sound and user-friendly. This project differed from previous assignments by involving real-world applications with data storage and retrieval requirements, adding complexity. Previous assignments often focused on algorithmic challenges or theoretical concepts. In the future, I would apply a similar approach to create databases for other client requests. This involves understanding the needs, designing a suitable schema, implementing the necessary CRUD operations, and creating a user-friendly interface for data access.

What techniques or strategies would you use in the future to create databases to meet other client requests?

In the future, when tasked with creating databases to meet client requests, I would follow a structured and iterative process. Firstly, I would engage with the client to gather detailed requirements, ensuring a clear understanding of what data needs to be stored and how it will be used. Next, I would design the database schema, carefully selecting tables, fields, and relationships to represent the data accurately and efficiently. Once the schema is defined, I would implement the CRUD operations, creating a Python module similar to the one developed for Project One. This module would provide a clean and standardized interface for interacting with the database. Additionally, I would focus on optimizing database performance, considering factors like indexing and query optimization. Finally, I would develop a user-friendly interface, such as a dashboard, for clients to access and visualize the data. Throughout this process, I would prioritize regular communication with the client to gather feedback and ensure that the database meets their evolving needs.

What do computer scientists do, and why does it matter?

Computer scientists play a crucial role in solving complex problems using computational tools and techniques. They analyze problems, design innovative solutions, and implement them through software development. Their work matters because it empowers organizations to make data-driven decisions, automate repetitive tasks, and streamline processes. In the case of the project for Grazioso Salvare, the dashboard I developed enables the organization to efficiently assess the availability of dogs for training and gain insights into the animal population through visualizations. This work showcases how computer science can improve operational efficiency, enhance decision-making, and ultimately help organizations achieve their goals. Computer scientists contribute to technological advancements and drive innovation across various industries, making their role essential in our increasingly digital world.

About

Client/Server Development- MongoDB queries and creation through terminal, Python and Jupyter Dash Dashboard Implementation through integration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published