Building out my first full-stack project.
This week: I'm sharing my upcoming journey of learning to become a full-stack developer.
Kicking off a new project from the ground up is both a challenge and an opportunity. My goals in 2024 have been to spend time on random projects and level up my technical knowledge and skills based on the growing trends of product managers needing to become more technical. Although I’ve been on a bit of a break from these projects, I’ve finally landed on my next one and would like to start documenting the journey.
So, what is this big fancy project that I am embarking on?
Although I’m not going to disclose the details of the product I’m building fully (yet), my initial plan is to build each aspect from idea to production for a web platform that aims to help those who are struggling to find new opportunities after layoffs.
My goal is to learn how to create a seamless pipeline that moves the code I’m learning to develop from my local desktop environment to production, all while leveraging tools like JIRA, Bitbucket, Flask, and even ChatGPT to streamline the process.
Laying out a game plan.
I know there are many ways to organize things, but because I really wanted to start coding, I tapped into ChatGPT to help me fully develop a game plan.
Based on the approach, I’ve decided that my approach to building out this platform/learning journey will focus on the following:
Documenting the Vision and Outcomes in JIRA:
Break down the entire project into epics, user stories, and tasks in JIRA, outlining key features and goals from start to production.
Setting Up Version Control with Bitbucket:
Use Bitbucket to manage code, create branches for different features, and integrate with JIRA to automate tracking and updates.
Developing Core Features Locally:
Python and BeautifulSoup will build the core functionality, such as the job-scraping feature, and Flask will develop a basic UI for displaying results.
Automating Tests and Deployments via Bitbucket Pipelines:
Automate the process of testing, building, and deploying the application with Bitbucket Pipelines, ensuring the code is deployed to production with minimal manual intervention.
Leveraging ChatGPT and Automation:
Use ChatGPT to accelerate code development, generate ideas, and streamline automation tasks while documenting and refining the workflow through AI assistance.
I will be leveraging JIRA to manage the workflow.
JIRA is going to be the backbone of this project’s organization. Every feature, bug fix, and enhancement will be tracked there. I’ve already set up the following structure to manage the work effectively:
Epics: Each major component of the project is broken into epics. For example, “Link-Based Job Parsing” is one epic focused solely on the job-scraping functionality.
User Stories: Each epic is broken down into smaller, more manageable stories. These stories help me focus on specific tasks and ensure I’m constantly moving toward completion.
Automation: By linking Bitbucket and JIRA, I’m using JIRA Smart Commits to automatically update the status of tickets based on my Git commits. This means I can push code and have JIRA automatically mark a story as complete or in progress without extra manual updates.
Automation and AI: Bringing ChatGPT into the mix.
One of the most exciting aspects of this journey is how I’m leveraging ChatGPT to assist with code snippets, feature ideas, and even automation suggestions. As I continue to build out the project, I’ll share how ChatGPT has been instrumental in:
Writing code faster: Whenever I hit a roadblock (which - there are a LOT since I’m new to this), ChatGPT helps me generate or improve the code, saving time and offering solutions I might not have considered.
Workflow Automation: I’ve been exploring how ChatGPT can help automate tasks, from writing test scripts to streamlining the deployment process.
Documentation and Learning: It’s also great for creating documentation, learning new libraries or frameworks, and explaining complex concepts quickly.
In the coming posts, I’ll explore how I’m using ChatGPT to optimize different parts of the workflow, from automating smaller tasks to enhancing my overall development process.
Next steps.
Moving forward, I’m excited to continue documenting my progress as I build out this project. The immediate focus will be refining and tying the scraping feature into a basic UI.
From there, I’ll move to setting up the Bitbucket pipeline for automated deployments and integrating JIRA for full project tracking.
Stay tuned for updates on how I’m using tools like Flask, Bitbucket, JIRA, and ChatGPT to bring this project to life and how you can apply the same strategies to your projects.
Have you gone down this path before? Do you have any tips or tricks that could help? Please feel free to leave me a comment below and let me know.
Mike, this is epic. Good luck on this journey!
Aaah!! Im so excited to read the next stories!!! This is such a super cool thing to do 👏🏼👏🏼👏🏼