<Projekt Innowacje 2023 – Summer Journey with Vue and Firebase/>

July 15, 2023
📁 Education
Paweł Rutkowski
Projekt Innowacje 2023 – Summer Journey with Vue and Firebase

In the summer semester of 2023, I once again took part in Projekt Innowacje at the Lodz University of Technology – this time working with six students. Our goal was to move from solid foundations of modern web development to a shared project based on the Vue.js and Firebase ecosystem, with a clear division of roles in the team.

This wasn’t my first adventure with this program, so I wanted this edition to be closer to the realities of commercial projects: from a structured technical start, through regular iterative work, to a clear division of responsibilities for web, mobile, and managerial parts.

Introductory Phase – Common Language and Foundations

We dedicated the first weeks to leveling the playing field and building a common technological language. We took care of several key areas:

  • Git and GitLab – working on branches, merge requests, code reviews, resolving conflicts.
  • VS Code and Developer Experience – environment configuration, extensions for Vue and TypeScript, automatic formatting, and linting.
  • JavaScript and TypeScript – the most important language constructs, asynchrony (Promises, async/await), and thinking in terms of types.
  • Vue.js and Firebase – first components in Vue 3, simple navigation, connection with Firebase Authentication and Firestore.

I wanted the students to not just run “something that works,” but to understand why the environment is configured in one way and not another. Therefore, we spent a lot of time reading documentation and discussing design decisions instead of blindly copying tutorials.

Project Phase – One Application, Different Roles

The second part of the semester was the move to the actual project. Instead of several small applications, we decided on one shared system that everyone worked on in parallel. Here, the key element of this edition appeared – division of roles in the team:

  • Web team – responsible for the frontend in Vue.js: views, business logic, integration with Firebase.
  • Mobile team – focused on the user experience on mobile devices: responsiveness, navigation, testing on various screens.
  • Manager role – one person who watched the backlog, distributed tasks, coordinated communication, and took care of closing sprints.

Thanks to this, students could try different perspectives: someone could dive into the code, someone else focus on UX and behavior on small screens, and the manager faced a very real problem – how to combine different work styles and priorities into one coherent plan.

We met regularly, and between classes, a board with tasks and short “definition of done” descriptions was active. This simple tool greatly organized communication and showed how small procedural improvements can raise the quality of the entire team’s work.

Technology in Practice – Vue and Firebase as Support, Not the Goal

The project was based on a modern but still accessible stack:

  • Vue 3 with Composition API – components, reactivity, dividing logic into readable modules.
  • Pinia – where local state ceased to be sufficient, we introduced stores for more complex views.
  • Firebase Authentication and Firestore – user login, working on real-time data, simple but secure access rules.
  • Firebase Hosting and CI/CD – automatic deployments after merge to the main branch.

From the beginning, I repeated that the goal is not to “learn Vue and Firebase by heart,” but to see how such tools help deliver a working product. Thanks to ready-made cloud infrastructure, we could focus on designing functionalities, user flows, and code quality.

Challenges and Micro-successes Along the Way

Working in a six-person team quickly showed typical challenges:

  • Different learning paces and different previous experiences
  • The need for agreement on technical decisions
  • Combining work on frontend, mobile UX, and task organization

I tried to gradually give students responsibility: instead of imposing solutions, I asked additional questions, referred them to documentation, encouraged them to explain difficult topics to each other. Thanks to this, by the end of the semester, I increasingly saw situations where they solved problems without my direct intervention.

Final Result – Something More Than a Demo

At the end of the semester, we had an application that was not just a set of individual screens, but a coherent system:

  • User login via Firebase
  • Data work in Firestore
  • Refined navigation and views that work well also on phones
  • Deployment process to cloud hosting

For the students, it was the first contact with the full application life cycle – from the first commit, through code review, to actual deployment. For me, it was another edition of Projekt Innowacje that confirmed that combining an introductory phase with working in clearly defined roles gives the best effect: people grow faster because they see both technical details and the broader context of team work.

I hope that for this group of six students, it was a good starting point for subsequent, increasingly independent projects – regardless of whether they choose the web, mobile, or product management path.

Share article:

Paweł Rutkowski

Paweł Rutkowski

Full-stack developer, entrepreneur and enthusiast of new technologies.

📚 Related Posts

Other articles that may interest you