Table of contents
- Welcome aboard the Gallalaus: An Expedition into Full Stack Development blog series! This is the first stop, of many, through the vibrant landscape of full-stack development. This introductory post will provide a roadmap for our project, help you understand why I’m writing about it, and give you a glimpse of the adventures awaiting us in future posts. So, buckle up and enjoy the ride!
Introducing Gallalaus: An Expedition into Full Stack Development
The name 'Gallalaus' draws inspiration from Icelandic, where it translates to 'flawless.' Yet, this project is not about chasing perfection but rather a relentless pursuit of knowledge.
Having a side project allows me to explore, experiment, and broaden my expertise while keeping my mind sharp. They keep my skills honed and provide a platform for continuous learning, where I can discover something new every day or week.
The idea of starting Gallalaus was sparked by an enlightening YouTube video from CoderFoundry. Gallalaus is more than just a project; it's a journey through the cycle of web development, and project management.
Allow me to introduce you to Gallalaus, my latest and most exciting endeavor.
Why write about it?
I want to share my journey, starting from the planning, designing/architecting, and implementing the MVP, all the way to the first release of the product and beyond.
While this journey may be a lengthy one, my primary goal is to showcase what it truly means to construct a green field project, offering valuable insights into the world of web development and its related areas.
Additionally, I aim to offer a more comprehensive tutorial series and go beyond the simplicity of let's build a to-do list or chat app tutorial. These commonly found tutorials, are just going on the surface of the problem, leave the reader with many questions, and go more in the direction of: Hey copy the code and you are good to go, I know best.
I intend to fill this gap by providing a more in-depth and practical exploration of full-stack development and the art of continuous learning.
How will this be structured?
I aim to share the knowledge and know-how I acquired every day since I started working as a software developer. I will do my best to document and share comprehensively and clearly every step of the application's development.
This series will encompass code-related topics and posts dedicated to other topics, like system design and software architecture, DevOps/infrastructure, and project management. Throughout this journey, we'll explore essential architectural concepts, delve into why the MVP phase holds such significance, and uncover the decision-making process in its entirety. Of course, this will always be just a way of doing things, but I hope to keep you excited all the way.
I would like to make it clear and be honest with you, that in this tutorial series, I will not provide any full project source code. I will highlight key concepts through code snippets, to provide more guidance and clarity. As we progress further in the journey, I'll share full code examples, particularly in areas that are complex or relevant. The intention here is to strike a balance: to offer guidance and learning without simply handing out a ready-made codebase. This way, you'll gain a deeper understanding of the development process and the underlying principles of full-stack development.
Remember, it’s not just about learning; it’s about understanding. Enjoy the journey!
What are we building here actually?
In essence, the Gallalaus project is designed to be a multifaceted tool, functioning as a ticket management system, bug tracker, and sprint management tool. The beauty of this multi-purpose functionality lies in its adaptability — we have the flexibility to continually enhance its complexity and utility by integrating additional features.
This project will be a full-stack endeavor. During the MVP (Minimum Viable Product) phase, our focus will be on speed. To get the project off the ground quickly, we’ll adopt a monolithic approach, using NestJS as a Nodejs based backend framework and incorporating Angular on the front end with a predefined template. This strategy enables us to develop and release Gallalaus’s core functionalities swiftly.
However, it’s important to note that the monolithic approach is not our end goal. It’s merely a means to an end, a stepping stone towards our ultimate objective. As we become more confident in the project’s results, functionalities, and user experience, we plan to transition from the monolith to a more sophisticated microservices architecture. This shift will provide scalability and flexibility for future development.