Skip to content

Repository files navigation

CribSnatcher

Project for 404 Found Us

Cribsnatcher is a university focused housing and social app. At its core, it helps students and young renters find apartments, dorms, and roommates, while also giving them tools to message, review, and manage their profiles.

Pitch:

Sign‑up & Login flow: Users create accounts and manage their identity through a simple onboarding process.

Home, Map, and Messages views: Once inside, they can browse listings on a map, chat with other users, and keep track of housing opportunities.

Managers behind the scenes: Dedicated managers handle users, apartments, reviews, and messages, ensuring data is consistent and easy to maintain.

Profile hub: From their profile, users can preview, edit settings, or log out — it’s the central place for personal control.

Reviews & trust: Built‑in review features let people rate apartments or roommates, adding a layer of credibility.

Limitations:

Right now Cribsnatcher is still missing a few of the big features we originally planned. Matches haven’t been built yet, so there’s no way to connect users based on compatibility. Reviews are also missing, which means apartments and roommates can’t be rated or given feedback. The biggest gap is messaging. We ended up cutting it because it was just too much for the scope. Setting up a messaging system meant handling live communication and internet connectivity, and that added more complexity than we were ready to take on.

The Maps feature was another tough area. We spent a lot of time trying to get it working, but JavaFX really showed its age. The mapping modules felt outdated and struggled to handle what we needed, which slowed us down and made it hard to polish the feature. I spent a couple of days digging around online for solutions, but most of the approaches people used in the past were broken either because of changes to the Google Maps API or because the JavaFX WebView module hasn’t been updated in years. However with this challenge, we ended up finishing the work. In the map controller we are able to add markers directly to the map to represent apartments, though I did experience some stability issues due to the prior mentioned JavaFX limitations, but it seemed to mostly work.

Unfortunately it seems we lack most of the "Working" features that would make the app actually usable for a user. The model however almost entirely completed, just missing some work on the Matches and Reviews, along with almost all of the screens we originally planned.

Requirements to Work:

Map is going to be the most stringent. It requires internet connection, and you may have to update your Maven to download the require WebView packages.

Otherwise shouldn't have many issues running the application.

The data is entirely persistent, so you may create a user and it will remain.

Additional:

The way Cribsnatcher is put together is meant to keep things organized and make it easier to hook different parts of the app together. At the center we use managers to handle the main lists of data like users, apartments, messages, and reviews. Each manager is responsible for creating and keeping track of its own set of objects so the controllers aren't filled with lists and calls.

The AbstractEntityManager is the shared backbone for all our managers. Instead of rewriting the same list handling code, we put the core logic in one place and made it generic. That way, whether it’s users, apartments, messages, or reviews, each manager inherits the same methods for adding, finding, saving, and loading data. The only thing a concrete manager has to define is how its own type of entity is parsed or formatted.

Thank you for the class. I had a lot of great fun architecting the backend work, and towards the end got a lot of experience on front end as I came up to try to get the project pushed across the finish line. The use of generics and the map feature were my favorite parts. Both were challenging to get in place and felt rewarding. Appreciate the time again, I know Brian and Daniella also enjoyed making the app as much as me. Paul

About

Project for 404 Found Us

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages