3 min read
EETAC GO
Full stack Mobile Application

Project Overview

EETAC GO is a mobile application designed for CBL (Campus Baix Llobregat) students to discover, explore, and enjoy the campus. The app lets users complete location-based challenges by finding hidden QR codes around the campus, while also connecting with other users through a built-in community chat.

This was a semester-long university project developed by a team of 5 members. It was our first experience working with Agile methodologies at this scale, combining SCRUM for sprint planning and backlog management with XP (Extreme Programming) practices for code quality and collaboration.


Tech Stack

LayerTechnology
Mobile appFlutter (Dart)
Backend APINode.js + Express.js
DatabaseMongoDB
ToolingGitHub, Docker Hub, MongoDB Compass

The mobile app was built with Flutter, giving us cross-platform support for both iOS and Android from a single codebase. The backend exposes a REST API built with Express.js, and MongoDB was chosen as the database for its flexible document model, well-suited to the varied data structures of the app.


Design Process

Working as a team of 5 over a full semester, we organized the project into sprints following the SCRUM framework. Each sprint had defined goals, a backlog review, and a retrospective. It was the first time most of us applied this methodology in practice, and it shaped how we approached planning and task distribution.

XP practices helped us keep code quality consistent: we adopted pair programming sessions for complex features and kept the codebase reviewed within the team before merging.

Key technical decisions made during the process:

  • Flutter over native: A single codebase for iOS and Android reduced complexity for a team without mobile specialists.
  • MongoDB: Document-based storage made it easy to iterate on data models during early sprints without rigid schema migrations.
  • REST API with Express.js: Straightforward to build and integrate with the Flutter client using standard HTTP requests.
  • Docker: Used to containerize the backend, making local development consistent across team members’ machines.

Features

Campus Map
Interactive map with live location, itineraries, and challenges displayed on top.
QR Challenges
Complete activities by finding hidden QR codes at physical locations on campus.
Community Chat
Each challenge has its own global chat room to connect with other participants.
Discover
Browse all active accounts, filter by name, and follow or unfollow users.
Badges & Levels
Earn badges and level up by completing routes, adding a gamification layer.
Multilingual
Available in Spanish, Catalan, English, and Chinese, with dark and light mode.

Conclusions

EETAC GO taught us how to build a full-stack application with Flutter, Express.js, and MongoDB, and how to work within a structured Agile process with a real team, deadlines, and a shared codebase.

Managing a project across 5 people, coordinating sprints, resolving merge conflicts, and making collective architecture decisions taught us as much as the technology itself. The result is a functional, cross-platform mobile application with real features: location-based challenges, live chat, social profiles, and a gamification system.

esc close

Keyboard Shortcuts

Global Shortcuts

Open command palette
⌘K or Ctrl+K
Go to Projects
g then p
Go to Work
g then w
Go to Blog
g then b
Go to Home
g then h
Show keyboard shortcuts ?

Navigation Shortcuts

Scroll down j
Scroll up k
Jump to top gg
Jump to bottom G
Go back h
Go forward l
Jump to prev section [
Jump to next section ]

Palette Shortcuts

Quick select result 1-9
Navigate results ↑↓
Select result
Close palette Esc

Tips

  • Global shortcuts work from anywhere on the site
  • Press g twice quickly for chord shortcuts
  • Number shortcuts (1-9) only appear for the first 9 results
  • Chord shortcuts show a visual indicator in the bottom right
  • Navigation shortcuts (j/k/[/]) don't work when typing in input fields