Connect. Ask. Help. Grow Together.
Maus2Maus is a global social network designed to connect people from around the world who want to ask for help and offer assistance on any topic. Similar to Facebook's interface with integrated messaging, Maus2Maus enables real-time collaboration and support across geographical boundaries.
- Global Help Requests β Post requests for help on any topic and get responses from experts worldwide
- Smart Newsfeed β Curated feed showing help requests from users in your location or globally
- Real-time Messaging β Direct instant messaging with other users for detailed conversations
- User Profiles β Complete profiles with location, expertise, and help history
- Rating System β Rate and review helpful responses to build trust in the community
- Location-Based Discovery β Find helpers near you or expand globally
- Multi-language Support β English and Russian language support
- Responsive Design β Works seamlessly on desktop and mobile devices
The main newsfeed shows help requests from the community with user information and rating system:
| Layer | Technology |
|---|---|
| Frontend | JSP, HTML5, CSS3, JavaScript, jQuery |
| Backend | Java, Apache Struts 2 Framework |
| Database | MySQL 5.1+ |
| Build | Maven 3.9+ |
| Deployment | Apache Tomcat 7+ |
| Java Version | Java 8+ |
- Java 8 or higher (installed via Homebrew or system package manager)
- Maven 3.9+ β Build and dependency management
- MySQL 5.1+ β Database server
- Apache Tomcat 7+ β Application server
git clone <repository-url>
cd maus2mausmacOS (Homebrew):
brew install mavenLinux (Ubuntu/Debian):
sudo apt-get install mavenOther systems: Download from maven.apache.org
Create a MySQL database and update credentials in your application configuration:
mysql -u root -p
CREATE DATABASE maus2mauscom;Set environment variables for database connection:
Create a .env file in the project root (copy from .env.example):
cp .env.example .envEdit .env and add your database credentials:
DB_URL=jdbc:mysql://localhost/maus2mauscom
DB_USERNAME=your_db_user
DB_PASSWORD=your_secure_password
.env to version control! It's already in .gitignore.
cd /path/to/maus2maus
mvn clean installThis generates: target/ishtar.war
Copy the WAR file to Tomcat's webapps directory:
cp target/ishtar.war $TOMCAT_HOME/webapps/Start Tomcat:
$TOMCAT_HOME/bin/startup.shAccess the application at: http://localhost:8080/ishtar
- Sign Up β Create an account with email and location
- Post Help Request β Describe what you need help with
- Browse Feed β See help requests from people nearby or globally
- Respond to Requests β Offer your expertise and help others
- Message β Chat privately with users for detailed discussions
- Rate β Leave ratings and reviews for helpful community members
# Clean build
mvn clean install
# Run with Tomcat plugin
mvn tomcat7:run
# Run tests
mvn test
# Generate project documentation
mvn sitemaus2maus/
βββ src/
β βββ main/
β β βββ java/
β β β βββ com/maus2maus/ishtar/
β β β βββ actions/ # Struts2 Action classes
β β β βββ models/ # Domain models (User, Post, Message, etc.)
β β β βββ interceptors/ # Login & security interceptors
β β β βββ util/ # Helper utilities
β β βββ resources/
β β β βββ struts.xml # Struts2 configuration
β β β βββ log4j.properties # Logging configuration
β β β βββ package*.properties # i18n properties files
β β βββ webapp/
β β βββ WEB-INF/
β β β βββ web.xml # Deployment descriptor
β β β βββ jsp/ # JSP templates
β β βββ css/ # Stylesheets
β β βββ js/ # JavaScript files
β β βββ images/ # Static images
β βββ test/ # Unit tests
βββ pom.xml # Maven configuration
βββ .gitignore # Git ignore rules
βββ LICENSE # License information
βββ README.md # This file
- User β User accounts with profiles and locations
- Newsfeed / NewsfeedItem β Help requests and posts
- Message β Direct messages between users
- PostRating β User ratings and reviews
- Location β Geographic location data
LoginActionβ User authenticationRegisterActionβ New user registrationNewsfeedActionβ Feed display and managementUserAccountViewActionβ Profile viewingYourAccountEditActionβ Profile editingPostRatingDoActionβ Rating submissions
- Public posts accessible to anonymous users
- Geo-location filtering for help requests
- Real-time messaging with status tracking
- Post rating system for community trust
- English β
package.properties - Russian β
package_rus.properties
Add more languages by creating corresponding .properties files.
- Database Credentials: No longer hardcoded in source! Now use environment variables:
export DB_URL=jdbc:mysql://localhost/maus2mauscom export DB_USERNAME=your_db_user export DB_PASSWORD=your_secure_password
- See
.env.examplefor template .envfile is in.gitignore- will NOT be committed
- User authentication via
LoginInterceptor - Personal data (email, phone) associated with user accounts
- HTTPS/SSL recommended for production
- Password hashing recommended (update in UserData class)
- SQL injection prevention through prepared statements (Struts2) β
- CSRF protection should be added
β οΈ - Rate limiting on API endpoints recommended
β οΈ - Upgrade Struts2 from 2.3.16 to 2.5+ (security patches)
β οΈ - Update Jackson library from 1.9.13 to 2.x (legacy version)
β οΈ
We welcome contributions! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Current Release: 0.0.1-SNAPSHOT
- Latest Version: IshtarCaramel (with public posts & music integration)
- Previous Version: ishtarBee (community foundation)
- Update to newer Struts2 version (2.5+)
- Migrate from legacy Jackson to modern JSON library
- Add comprehensive unit tests
- Implement real-time notifications (WebSocket)
- Add image upload for profiles and posts
- Improve mobile responsiveness
- Add email verification on signup
This project is licensed under the MIT License β see the LICENSE file for details.
- Issues: Report bugs via GitHub Issues
- Discussions: Share ideas in GitHub Discussions
- Contact: For inquiries, reach out to the project maintainers
Maus2Maus aims to become the world's most accessible platform for peer-to-peer help, enabling:
- Skill-sharing and mentorship
- Community problem-solving
- Cross-cultural knowledge exchange
- Local community building with global reach
Join us in building a more connected and helpful world! π
