College is expensive, but campus life doesn't have to be. DormDeal is the app where students buy, sell, borrow, and help each other, making everyday college life more affordable.
DormDeal is a mobile marketplace built exclusively for college students, verified through Microsoft Outlook .edu sign-in. Students can buy and sell textbooks, furniture, dorm supplies, and electronics within a trusted campus community. Unlike Facebook Marketplace or OfferUp, every user is a verified student, creating a baseline of trust only DormDeal offers.
DormDeal also supports ride-sharing to grocery stores and airports, service listings (tutoring, tech help, moving), item borrowing, and an event posting feature — making it a full campus peer-to-peer experience rather than a single-use marketplace.
- .edu verification
- Probably won't be able to get student verification w/o getting Microsoft App approval, so focus here is to get Outlook sign-in through Microsoft Graph
- Buy & sell listings
- Heavily inspired by Facebook Marketplace structure
- Rideshare
- Carpools to grocery stores, airports, off-campus events
- In-app chat
- Trust score for users across all exchange types
- Services marketplace
- Tutoring, tech help, moving, etc.
- Event posting feature
- Public meetup suggestions
- Borrowing items
- CV item classification
- Auto-detect category and condition from a photo
- Price recommendation engine
- Organization accounts
Week 1: Set Up ⚙️
All
- Decide focus features, brainstorm ideas
- GitHub practice & branches made
Front End
- Decide app flow
- Figma wireframing
Back End
- Research backend stack
- Design schema
- Figma wireframing
Week 2: More Preparation 💡
Front End
- Finalize wireframes for all screens
- Finalize color palette and logo design
Back End
- Microsoft Graph OAuth setup
- API research implementation
Week 3: Coding Begins 👨🏻💻
Front End
- Signup/Login screens
- "Connecting account…" screen
- Home feed skeleton UI
Back End
- Fetch and store user profile
- Initialize PostgreSQL schema
Week 4: Listings 📸
Front End
- Listing creation screen (photo, category, condition, price)
- Tag badges for listing type
Back End
- Photo upload
- Listing write to database
- Category and condition tagging logic
Week 5: Browse & Ride 🚗
Front End
- Browse/search listings UI
- Listing detail screen
- Ride post UI
Back End
- Browse and search API
- Rideshare listing logic
- Trust score foundation
Week 6: Chat & Services 💬
Front End
- In-app chat UI
- Services marketplace screen
- Event posting screen
Back End
- WebSocket chat backend
- Services listing logic
- Event post API
- Set up demo account
Week 7: Finishing Touches 👔
All
- Watch previous ACM presentations for inspo
- Begin brainstorming presentation script
Front End
- Loading states and polish
- Final feature touches
- Fix integration issues
Back End
- Last integrations
- Demo data (10+ listings, rides, services)
Week 8: Presentation Prep 🎤
All
- Full team run-through
Front End
- Presentation slides and script
- Assign speaking parts
Back End
- Finished video/demo recorded
- Last bug fixes
Week 9: Wrapping Up 🗣️🖥️
All
- Final slide edits
- Speaker transitions
- Q&A prep
MOCKS → THANKSGIVING BREAK → PRESENTATION NIGHT
- Coolors
- Look at other UI for inspo
- Look at competitors!
- Intro to Design
- Sajid's Frontend Cheatsheet
- Install the latest version of Node.js.
- Clone the GitHub repository: acm-projects/DormDeal
- Use the following command to install any packages/dependencies necessary for running the project:
npm install
- Install Expo Go on iOS if testing on iOS.
- Create an Expo Account on Expo Go or on the official website, Expo. Remember this login information.
- Open the IDE of your choosing with the packages already installed and run the command to login (The example below is VSCode-tested):
npx expo login
Make sure to type the username/password properly in the terminal. If npx proceeds to ask for an Apple Developer Account login, skip it. (Prompting random, blatantly incorrect information is okay.)
- Use one of the following commands to test the project:
npm run android
npm run ios # you need to use macOS to build the iOS project - use the Expo app if you need to do iOS development without a Mac
npm run web
Or alternatively, you may use:
npx expo start
- If testing on web, a
localhostshould have already opened in your default browser. - If testing on iOS:
- Ensure that the WiFi connected on BOTH devices (Computer with the IDE, and mobile device) are exactly the same.
- DO NOT USE any School WiFi (although Dorm (Dorm... Deal... 😆) WiFi is okay); as tested, it will not send a proper connection.
- Ensure that on Expo Go, that you have logged in. An Apple Developer Account is not necessary.
- use the
Cameraapp to scan the QR code in the Terminal of your IDE which should redirect you to Expo Go.
- Ensure that the WiFi connected on BOTH devices (Computer with the IDE, and mobile device) are exactly the same.
Note: This project was built with the npx create-expo-app command.
| Command | What it does |
|---|---|
| git branch | lists all the branches |
| git branch "branch name" | makes a new branch |
| git checkout "branch name" | switches to specified branch |
| git add . | finds all changed files |
| git commit -m "Testing123" | commit with a message |
| git push | push to branch |
| git pull "branch" | pull updates from a specific branch |
Developers
- Minh Do -> team member
- Sai Kottamasu -> aura
- Saloni Roy - fire
- Bhargavi Nigam --> your bestie
Project Manager
- Tramanh Trinh - goat
Industry Mentor
- Faiza Rahman
