Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Maus2Maus - Global Help Network

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.


🌟 Features

  • 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

πŸ“Έ Screenshots

Newsfeed Interface

The main newsfeed shows help requests from the community with user information and rating system:

Maus2Maus Newsfeed Screenshot


πŸ› οΈ Technology Stack

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+

πŸ“‹ Prerequisites

  • 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

βš™οΈ Installation & Setup

1. Clone the Repository

git clone <repository-url>
cd maus2maus

2. Install Maven (if not already installed)

macOS (Homebrew):

brew install maven

Linux (Ubuntu/Debian):

sudo apt-get install maven

Other systems: Download from maven.apache.org

3. Configure Database

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 .env

Edit .env and add your database credentials:

DB_URL=jdbc:mysql://localhost/maus2mauscom
DB_USERNAME=your_db_user
DB_PASSWORD=your_secure_password

⚠️ Important: Never commit .env to version control! It's already in .gitignore.

4. Build the Project

cd /path/to/maus2maus
mvn clean install

This generates: target/ishtar.war

5. Deploy to Tomcat

Copy the WAR file to Tomcat's webapps directory:

cp target/ishtar.war $TOMCAT_HOME/webapps/

Start Tomcat:

$TOMCAT_HOME/bin/startup.sh

Access the application at: http://localhost:8080/ishtar


πŸš€ Usage

For Users

  1. Sign Up β€” Create an account with email and location
  2. Post Help Request β€” Describe what you need help with
  3. Browse Feed β€” See help requests from people nearby or globally
  4. Respond to Requests β€” Offer your expertise and help others
  5. Message β€” Chat privately with users for detailed discussions
  6. Rate β€” Leave ratings and reviews for helpful community members

For Developers

# Clean build
mvn clean install

# Run with Tomcat plugin
mvn tomcat7:run

# Run tests
mvn test

# Generate project documentation
mvn site

πŸ“ Project Structure

maus2maus/
β”œβ”€β”€ 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

πŸ”‘ Key Components

Models

  • 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

Actions (Controllers)

  • LoginAction β€” User authentication
  • RegisterAction β€” New user registration
  • NewsfeedAction β€” Feed display and management
  • UserAccountViewAction β€” Profile viewing
  • YourAccountEditAction β€” Profile editing
  • PostRatingDoAction β€” Rating submissions

Key Features in Code

  • Public posts accessible to anonymous users
  • Geo-location filtering for help requests
  • Real-time messaging with status tracking
  • Post rating system for community trust

🌍 Supported Languages

  • English β€” package.properties
  • Russian β€” package_rus.properties

Add more languages by creating corresponding .properties files.


πŸ”’ Security Considerations

Credentials Management βœ… FIXED

  • 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.example for template
  • .env file is in .gitignore - will NOT be committed

Data & Privacy

  • User authentication via LoginInterceptor
  • Personal data (email, phone) associated with user accounts
  • HTTPS/SSL recommended for production
  • Password hashing recommended (update in UserData class)

Known Security Improvements Needed

  • 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) ⚠️

🀝 Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ Versions

  • Current Release: 0.0.1-SNAPSHOT
  • Latest Version: IshtarCaramel (with public posts & music integration)
  • Previous Version: ishtarBee (community foundation)

πŸ› Known Issues & TODOs

  • 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

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


πŸ’¬ Support & Community

  • Issues: Report bugs via GitHub Issues
  • Discussions: Share ideas in GitHub Discussions
  • Contact: For inquiries, reach out to the project maintainers

🎯 Future Vision

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! 🌍

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages