Check4Scam is a web application that allows users to share scam information with others. Users can report a scam, view reported scams, so we can prevent scams together. 🚫🕵️♂️
-
- 💁 Name: Shahar Asher
- 📫 Email: shaharas@edu.hac.ac.il
-
- 💁 Name: Yaniv Gabay
- 📫 Email: yanivga@edu.hac.ac.il
- Description
- Features
- Technologies Used
- Configuration Files
- Controllers
- Services
- Dto - Data Transfer Object
- Repositories
- Html Files
This project is a web-based application that allows users to report and view scams. It leverages Spring Boot for the backend, Spring Security for authentication, and Thymeleaf for server-side rendering. The application provides functionalities such as user registration, scam reporting, and administrative controls. 📊🛡️
- User Authentication: Login and registration functionality using custom user details service. 🔑
- Scam Reporting: Users can report scams, view scams they've reported, and view all scams in a feed. 📝🗂️
- Role-Based Access Control: Differentiates access between regular users and administrators. 🧑💼👨💻
- Real-Time Updates: Utilizes WebSocket for real-time updates of scam reports. ⏱️💬
- Data Validation: Implements validation for user and scam report data submission. ✅
- Spring Boot 🌱
- Spring Security 🛡️
- Thymeleaf 🍃
- Bootstrap 🎨
- JPA (Java Persistence API) 🗄️
- WebSocket 🔌
- Xaamp for apache and mysql 🐬
- Maven ⚙️
- MessageConfig: Configuration for message sources to support internationalization. 🌐
- PasswordConfig: Sets up the password encoder for Spring Security. 🔐
- SecurityConfig: Configures Spring Security for authentication and authorization. 🛡️
- WebSocketConfig: Sets up WebSocket message handling. 🔌
- HomeController: Manages routes for the home page and static content. 🏠
- RegistrationController: Handles user registration functionalities. 📝
- ScamReportController: Manages all scam report related functionalities. 🕵️♂️
- WebController: Manages routing for static pages. 🗺️
- WebSocketController: Handles WebSocket message handling. 🔌
- CustomUserDetailsService: Implements the UserDetailsService interface for custom user authentication. 🔐
- ScamReportService: Manages scam report data and operations. 📊
- UserService: Manages user data and operations. 👤
- RegistrationForm: Represents the data transfer object for user registration. 📝
- TestRegistrationForm: Represents the data transfer object for user registration testing (no validation). 🧪
- ScamReportRepository: Handles database operations for scam reports. 🗄️
- UserRepository: Handles database operations for users. 👤
- ScamReport: Represents a scam report entity. 🕵️♂️
- User: Represents a user entity. 👤
├── 403.html
├── common.html
├── error.html
├── index.html
├── login.html
├── signup.html
├── success.html
│
├── admin
│ └── admin.html
│
├── scam-reports
│ ├── common.html
│ ├── create.html
│ ├── feed.html
│ ├── likedPosts.html
│ └── manage.html
│
└── user