Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shaharashe/scam-reporting-app

A web application for reporting and sharing scam information to enhance community awareness and prevention.
https://github.com/shaharashe/scam-reporting-app

full-stack html java project scam-report spring thymeleaf web website

Last synced: 29 days ago
JSON representation

A web application for reporting and sharing scam information to enhance community awareness and prevention.

Awesome Lists containing this project

README

        

---

# Check4Scam - Share scam information with others πŸ”πŸ’¬

## Overview

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. πŸš«πŸ•΅οΈβ€β™‚οΈ

# About As
1. - πŸ’ Name: Shahar Asher
- πŸ“« Email: [[email protected]](mailto:[email protected])
---
2. - πŸ’ Name: Yaniv Gabay
- πŸ“« Email: [[email protected]](mailto:[email protected])
---

## Table of Contents

- [Description](#description)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Configuration Files](#configuration-files)
- [Controllers](#controllers)
- [Services](#services)
- [Dto - Data Transfer Object](#dto---data-transfer-object)
- [Repositories](#repositories)
- [Html Files](#html-files)

## Description

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. πŸ“ŠπŸ›‘οΈ

## Features

- **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. βœ…

## Technologies Used

- Spring Boot 🌱
- Spring Security πŸ›‘οΈ
- Thymeleaf πŸƒ
- Bootstrap 🎨
- JPA (Java Persistence API) πŸ—„οΈ
- WebSocket πŸ”Œ
- Xaamp for apache and mysql 🐬
- Maven βš™οΈ

## Configuration Files

- **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. πŸ”Œ

## Controllers

- **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. πŸ”Œ

## Services

- **CustomUserDetailsService:** Implements the UserDetailsService interface for custom user authentication. πŸ”
- **ScamReportService:** Manages scam report data and operations. πŸ“Š
- **UserService:** Manages user data and operations. πŸ‘€

## Dto - Data Transfer Object

- **RegistrationForm:** Represents the data transfer object for user registration. πŸ“
- **TestRegistrationForm:** Represents the data transfer object for user registration testing (no validation). πŸ§ͺ

## Repositories

- **ScamReportRepository:** Handles database operations for scam reports. πŸ—„οΈ
- **UserRepository:** Handles database operations for users. πŸ‘€

## Models

- **ScamReport:** Represents a scam report entity. πŸ•΅οΈβ€β™‚οΈ
- **User:** Represents a user entity. πŸ‘€

## Html Files

```plaintext
β”œβ”€β”€ 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
```