Mapping Your Project Odyssey: Jira Tasks to Chart the Course for Web App Development

While I have used JIRA in a limited way in the past, I’m still pretty new to the platform. I wanted to see if ChatGPT could help with some of the tasks to make sure I’m hitting all the right points. This way I can get some practice with JIRA and integrating it into my development process. However, since I’m a team of one at the moment, I think some of the really important collaboration features JIRA offers will go to waste.

The first thing I did was to make sure that my JIRA project and my GitHub repo for the project were integrated with each other. I’m using the free version of JIRA, so I can’t actually set permissions for viewing, and you’ll have to forgive me if I don’t want to make everyone on earth an admin, so hopefully the integration with GitHub will serve as a stopgap. In case you’re wondering how things are going, check out the GECACS repo.

In my previous post, Crafting Clear Paths: A Comprehensive Guide to Defining Requirements for Your Web Application Project – My Data Science Journey (myordinaryjourney.com), ChatGPT outlined the steps I should take for developing and capturing system requirements. In this post, I’m going to be adding tasks into JIRA based on Chat’s previous step 1 recommendations.

My ChatGPT Prompt

For step one, can you recommend some JIRA issues I should be tracking?

ChatGPT Response

At the initial stage of defining requirements and planning your project, here are some Jira issues or tasks you might consider tracking:

  1. Epic Creation:
    • Create epics in Jira to represent major themes or sections of your project. For example:
      • Epic 1: Requirement Gathering
      • Epic 2: Database Setup
      • Epic 3: User Authentication
  2. User Stories:
    • Break down your requirements into user stories. These represent specific functionalities or features from a user’s perspective. For instance:
      • Story 1: As a guild librarian, I want to add new equipment to the system.
      • Story 2: As a guild member, I want to check out equipment for use.
      • Story 3: As a guild member, I want to see a history of equipment I’ve checked out.
  3. Technical Tasks:
    • Include technical tasks necessary for setting up your development environment, integrating Firebase, and configuring the backend. For instance:
      • Task 1: Set up Python and Flask development environment.
      • Task 2: Configure Firebase project for the database.
      • Task 3: Implement Firebase user authentication.
  4. Documentation:
    • Track tasks related to documentation, which is crucial for maintaining clear records and instructions for the project. For example:
      • Task 4: Create a requirements document based on stakeholder meetings.
      • Task 5: Draft user documentation for the guild librarian on using the application.
  5. Stakeholder Collaboration:
    • Create tasks related to stakeholder collaboration, such as scheduling meetings and gathering requirements. For instance:
      • Task 6: Schedule meeting with guild librarian to discuss equipment tracking needs.
      • Task 7: Review and validate requirements with stakeholders.
  6. Project Setup:
    • Include tasks related to setting up your project management system and initial configurations. For example:
      • Task 8: Set up Scrum/Kanban board in Jira for project management.
      • Task 9: Define workflow stages for user stories and epics in Jira.
  7. Research and Exploration:
    • Track tasks related to exploring different tools, technologies, or best practices that might be beneficial for your project. For instance:
      • Task 10: Research best practices for Firebase database design.
      • Task 11: Explore Flask extensions for Firebase integration.

These suggested issues and tasks in Jira can serve as a starting point for organizing your project and breaking down the work into manageable components.

The Result

Epic Creation

I just used what Chat gave me for the Epics. I will have to add more when I get to the other steps.

User Stories

In addition to the user stories Chat defined for me, I added:

  • As a guild member, I want to see where I am on the waitlist.
  • As a guild member, I was to reserve a piece of equipment.
  • As a guild librarian, I want to see what equipment is checked out.
  • As a guild librarian, I want to see where each piece of equipment is currently located.

Task Creation

For the most part I used that tasks that Chat recommended. However, I chose to omit the tasks defined in the project setup step, as I’ve already done those. Although thinking about it now, I wonder if I should add them and just mark them complete.

    Next Steps

    My next steps will be to do my task estimation using story points, associating the tasks and user stories with the epics, and creating any additional epics, user stories, or tasks that I may have missed. I will also need to define my sprint length. Right now, in my communications plan, I am set up to do weekly check-ins with the librarian to give status updates. I think I’ll change that to every two weeks so that I can align the communication plan with the sprint length.

    Feedback

    Crafting Efficiency: Building a Guild Equipment Tracking System with Flask, Firebase, and WordPress

    Like I said, I’ve never done something like this before, so I’m going to use ChatGPT as a teacher/project manager. So the first thing I did was told CGPT what it is I want to do, and how I want to use it.

    My ChatGPT Prompt

    I want to develop a web application for the Fredericksburg spinners and weavers guild called GECACS. It stands for Guild Equipment Check-out and Control System. The guild librarian needs a way to track the guild’s equipment. The guild has equipment stored at the studio and different member’s homes. The librarian needs a way to track the piece of equipment, when it is checked-out/in and to whom. I imagine the app will use Firebase for the databases. I will do coding in Python, and the app will be hosted on our WordPress website. I have never developed a web application and I would like for you the help guide me through the process.

    ChatGPT Response

    1. Define Requirements:
      • Collaborate with the guild librarian to define specific requirements for equipment tracking. Understand the necessary features and functionalities.
    2. Database Design (Firebase):
      • Utilize Firebase as the database platform. Design the data structure to accommodate equipment, member details, and transaction records in a NoSQL format.
    3. Choose a Web Framework:
      • Opt for Flask as the web framework for Python, considering your familiarity with the language. This choice aligns well with Firebase for backend development.
    4. Set Up Development Environment:
      • Install necessary tools, including Python, Flask, and Firebase SDK for Python. Configure your virtual environment to manage dependencies.
    5. Coding the Application:
      • Begin building the application by breaking down tasks. Develop routes, set up Firebase connections, and design templates for the frontend.
    6. Database Integration (Firebase):
      • Connect your Flask application to the Firebase NoSQL database. Utilize Firebase SDK or a similar library to facilitate seamless interactions.
    7. User Authentication (Firebase):
      • Implement user authentication using Firebase Authentication to control access. This ensures secure tracking of equipment check-ins and check-outs.
    8. Testing:
      • Regularly test the application, covering various scenarios to ensure its robustness. Test Firebase interactions and authentication thoroughly.
    9. Deployment (WordPress and Firebase Hosting):
      • Deploy the application to your WordPress website. Utilize Firebase Hosting for backend services and consider integrating the frontend into your WordPress site.
    10. User Training:
      • Provide comprehensive training for the guild librarian on how to effectively use the application, emphasizing the new Firebase backend.
    11. Project Management (Jira):
      • Implement a project management system using Jira. Define epics, user stories, and tasks. Choose between Scrum or Kanban based on your team’s preferences. Use Jira to track progress, assign tasks, and facilitate communication.
    12. Maintenance and Updates:
      • Plan for ongoing maintenance and updates. Utilize Jira to track issues, prioritize updates, and ensure the long-term stability of the application.

    Next Step

    Define Requirements – so let’s get started.

    Embarking on the Web Development Journey: GECACS – Weaving a Digital Tapestry for Guild Equipment Management

    In this blog series, I’ll delve into the exciting world of web development as I embark on the creation of GECACS (Guild Equipment Check-out and Control System) for the Fredericksburg Spinners and Weavers Guild. I have never developed a web application before, so I’m going to use ChatGPT 3.5 to guild me through the process.

    In addition to ChatGPT, some of the other tools I will use include GitHub, JIRA, Google Colab, Google Firebase, Python, and WordPress. Since I like to learn new things, I’m thinking of going with Google’s Firebase Realtime Database for my data handling needs.

    Why am I doing this?

    Many years ago I elected to use the Forminator plug-in to create a check-out form for our guild members to use when they wanted to check-out equipment. The problem is that there was no way for the member or librarian to document the equipment had been turned back in. Trying to associate the check-out form with a check-in was becoming difficult for our librarian to keep up with. Since I am the guild’s “technology officer” and with my data science background, it seamed like a natural option to develop a solutions that would showcase my current skills and help me develop new ones.

    Step One – Select Relevant Projects

    So, the first step in building my data science portfolio was to “Select Relevant Projects”, at least according to ChatGPT. After thinking about this for some time, I decided I was wasting my time trying to think of project, so back to the ChatGPT I went and provided the following prompt:

    Can you suggest some relevant data science projects to start with?

    The next set of answers really started to provide me with some direction. If you are not an industry expert in a particular field, it can be difficult to see the possibilities in all the data that is available out there in the world. At work, I know what data I have available to me, and I can visualize in my mind’s eye the questions my clients haven’t even thought to ask about. This way, I can proactively dig into my data and tease out details. Presenting the answers to the client before they even know to ask the question tends to make me look like a rockstar. However, coming up with practice projects and problems without being a subject matter expert tends to give me a bit of “writer’s block” so to speak. Asking for help from ChatGPT helped to refine my focus. From the list provided below, I can now take each topic and develop them into individual project to showcase my skills. These are the suggestions and explanations it provided.:

    1. Exploratory Data Analysis (EDA) on a Dataset:
      Conduct a thorough analysis of a dataset, including data cleaning, visualization, and deriving meaningful insights. You can choose a dataset related to a topic of interest, such as finance, healthcare, or sports.
    2. Predictive Modeling with a Classic Dataset:
      Work with well-known datasets like the Iris dataset, Boston Housing dataset, or Titanic dataset. Build predictive models using techniques like linear regression, decision trees, or logistic regression.
    3. Natural Language Processing (NLP) Project:
      Analyze and extract insights from text data. You can start with sentiment analysis on Twitter data or build a simple chatbot using NLP libraries like NLTK or spaCy.
    4. Image Classification:
      Implement an image classification project using deep learning. The MNIST dataset for digit recognition or the CIFAR-10 dataset for object recognition are good starting points.
    5. Time Series Analysis:
      Work with time-series data to forecast trends or anomalies. You can use financial market data or weather data to build forecasting models.
    6. Customer Churn Prediction:
      Analyze customer data to predict customer churn for a business. This is a common problem in industries like telecommunications and subscription-based services.
    7. Recommendation System:
      Build a recommendation system, like the ones used by e-commerce platforms or streaming services. Collaborative filtering and content-based methods are popular approaches.
    8. Healthcare Data Analysis:
      Analyze healthcare data to identify trends, patient outcomes, or factors affecting disease prevalence. You can use datasets related to COVID-19 or electronic health records.
    9. A/B Testing:
      Design and analyze an A/B test for a hypothetical or real-world scenario. Determine the impact of changes in a website or app on user behavior.
    10. Fraud Detection:
      Build a fraud detection model using transaction data. This is valuable in the finance and e-commerce sectors.
    11. Social Media Analysis:
      Analyze social media data to gain insights into user behavior, sentiment, or trends. Use APIs to collect data from platforms like Twitter or Reddit.
    12. Geospatial Data Analysis:
      Work with geospatial data to solve location-based problems. You can analyze transportation data, plot maps, or predict real estate prices.
    13. Market Basket Analysis:
      Analyze transaction data to discover associations between products and make product recommendations.
    14. Text Generation with GANs:
      Experiment with Generative Adversarial Networks (GANs) to generate realistic text data, such as generating paragraphs in the style of famous authors.
    15. Time Series Anomaly Detection:
      Implement anomaly detection techniques on time series data to identify unusual patterns or outliers.

    Exploring the World of Data: Welcome to My Data Science Portfolio

    Are you a new data professional trying to break into the data science space, or are you a presently working in the field? Although I currently work as a data professional and have a master’s degree in data analytics, sharing my work with anyone outside my current employer or clients is an industry No-No. Intellectual property and non-disclosure agreements make the lawyers frown upon such actions. The solution: “Build a data science portfolio”, they say. I wish it were that easy. No one teaches you how to do that or what a data science portfolio even means. Questions like: “Where do I start?”, or “What do I include?” may nag at you and keep you from even getting started. Just take a look at the /datascience subreddit and you will find threads like What makes a good personal project – from the perspective of a hiring manager, People who make hiring decisions: what do you want to see in a portfolio?, and How to Build a Data Science Portfolio. As you can see, I was obviously wondering the same things since I did the searches too. However, I tend to learn better by doing, so I’m planning on “winging-it,” sort of.

    What do I mean by winging it, you may wonder? I’m all in favor of using the tools that are already available, so I took to ChatGPT for some guidance. My first prompt was simple: “how to build a data scientist portfolio.” True to form, ChatGPT did not disappoint, and its advice was simple and concise:

    • Select Relevant Projects
    • Clean and Document Your Code
    • Create a Portfolio Website
    • Project Descriptions
    • Include Jupyter Notebooks
    • Visualize Data Effectively
    • Highlight Your Skills
    • Include a Blog Section
    • Add a Resume or CV
    • Engage in Open-Source Contributions
    • Seek Feedback
    • Update Regularly
    • Network and Share

    Consulting ChatGPT will continue throughout the processes.

    To help manage the moving parts in this process, I’m relying on Atlassian’s JIRA software to build a roadmap that will not only manage the process of standing up my portfolio, but to also keep track of the progress of my individual projects.

    Jira Software is the #1 agile project management tool used by teams to plan, track, release and support world-class software with confidence. 

    Welcome to Jira Software | Atlassian

    As for sharing my work with the world, you’re here so it must be working. As I work through the points laid out by ChatGPT above, I will document my journey and share my thoughts, successes, and frustrations here. Follow along to see the portfolio grow.