SharedSpace is a comprehensive roommate management application designed to streamline apartment living through efficient communication, task management, and resource sharing. Built for the COMS 309 course at Iowa State University.
- Project Overview
- Features
- Technology Stack
- Project Structure
- API Documentation
- Testing
- Team Members
- Documentation
SharedSpace is a full-stack application that helps roommates manage their shared living spaces more effectively. The app provides tools for communication, chore management, bill splitting, package tracking, and community engagement.
- User Authentication: Secure signup/login with JWT token-based authentication
- Apartment Management: Create and manage apartment spaces with multiple roommates
- Real-time Chat: WebSocket-based messaging system for instant communication
- Calendar Events: Shared calendar for coordinating schedules and events
- Chore Management: Assign and track household chores among roommates
- Bill Splitting: Split grocery bills and other expenses fairly
- Package Tracking: Track incoming packages and deliveries
- Lost & Found: Community board for lost and found items
- Maintenance Requests: Submit and track apartment maintenance issues
- Issue Reporting: Report and resolve apartment-related problems
- Community Board: Share announcements and engage with comments
- RA On Duty: Schedule and track RA availability (for dorm settings)
- Recipe Sharing: Share and discover recipes with roommates
- Payment Processing: Integrated payment system using Stripe
- AI Features: Google Gen AI integration for smart suggestions
- Notifications: Real-time notification system for important updates
- Framework: Spring Boot 3.5.6
- Language: Java 17
- Database: MySQL with JPA/Hibernate
- Authentication: Spring Security with JWT (JSON Web Tokens)
- Real-time Communication: WebSocket
- Payment Processing: Stripe API
- AI Integration: Google Gen AI
- Testing: JUnit, RestAssured
- Build Tool: Maven
- Platform: Android
- Language: Java
- Min SDK: 24 (Android 7.0)
- Target SDK: 33 (Android 13)
- Networking: Volley, OkHttp
- Authentication: JWT
- Testing: Espresso, JUnit
- Build Tool: Gradle
2_jubair_4/
├── Backend/ # Spring Boot REST API
│ ├── src/main/java/coms309/sharedspace/
│ │ ├── config/ # Security and WebSocket configuration
│ │ ├── controller/ # REST API endpoints
│ │ ├── dto/ # Data Transfer Objects
│ │ ├── model/ # JPA Entity models
│ │ ├── repository/ # Database repositories
│ │ ├── service/ # Business logic layer
│ │ ├── util/ # Utility classes
│ │ └── websocket/ # WebSocket handlers
│ ├── pom.xml # Maven dependencies
│ └── SharedSpace_Postman_Collection.json # API testing collection
├── Frontend/ # Android application
│ └── login_screen/
│ └── app/
│ └── src/
│ ├── main/java/ # Android activities and services
│ ├── androidTest/ # Instrumented tests
│ └── test/ # Unit tests
├── Documents/ # Project documentation
│ ├── Block Diagram.pdf
│ ├── Coverage Reports/
│ └── Nathan-Javadoc/ # API documentation
└── Experiments/ # Individual learning experiments
├── Alvin_Thomas/
├── George_Insigne/
├── Maxim_Duncan/
└── Nathan_Anderson/
POST /signup- Register a new userPOST /login- Authenticate and receive JWT token
/users/*- User management/apartments/*- Apartment operations/chat/*- Messaging system/chores/*- Chore management/calendar/*- Event scheduling/groceries/*- Grocery tracking/packages/*- Package management/maintenance/*- Maintenance requests/community-board/*- Community posts/notifications/*- User notifications/payments/*- Payment processing
Complete API documentation is available in:
Backend/SharedSpace_Postman_Collection.json- Import into PostmanDocuments/Nathan-Javadoc/- Javadoc HTML documentation
# Run all tests
./mvnw test
# Run with coverage
./mvnw test jacoco:report
# View coverage report
open target/site/jacoco/index.htmlCoverage reports are also available in Backend/htmlReport/
# Unit tests
./gradlew test
# Instrumented tests (requires emulator/device)
./gradlew connectedAndroidTest
# Generate coverage report
./gradlew createDebugCoverageReportTeam 2_jubair_4
- Alvin Thomas
- George Insigne
- Maxim Duncan
- Nathan Anderson
Course: COMS 309 - Software Development Practices Institution: Iowa State University Semester: Fall 2025
Additional documentation can be found in the Documents/ directory:
- Block Diagram: System architecture overview
- Screen Sketches: UI/UX design mockups
- Coverage Reports: Test coverage analysis
- Javadoc: Complete API documentation
Repository: https://git.las.iastate.edu/cs309/2025fall/2_jubair_4