https://github.com/akurcubic/tourist_guide
Online platform for a tourist guide
https://github.com/akurcubic/tourist_guide
authentication authorization jax-rs jwt mysql-database rest-api vue web-development
Last synced: about 1 month ago
JSON representation
Online platform for a tourist guide
- Host: GitHub
- URL: https://github.com/akurcubic/tourist_guide
- Owner: akurcubic
- Created: 2024-06-16T23:31:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-17T23:04:33.000Z (about 2 years ago)
- Last Synced: 2025-01-08T06:54:38.338Z (over 1 year ago)
- Topics: authentication, authorization, jax-rs, jwt, mysql-database, rest-api, vue, web-development
- Language: Vue
- Homepage:
- Size: 223 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tourist_guide
# Online Tourist Guide Platform
## Overview
This project is an online platform for a tourist guide, allowing users to explore and discover destinations worldwide. The platform consists of two main parts:
1. **Content Management System (CMS)**
2. **Public Platform for Reading Tourist Articles**
### Content Management System (CMS)
#### Authentication and Authorization
- **Authentication**: Required for accessing the CMS. Only active users with valid credentials can log in. Passwords are stored as hashed values.
- **User Roles**:
- **Content Editor**: Can create, review, edit, and delete tourist articles.
- **Administrator**: Has all the capabilities of a Content Editor, plus the ability to manage users (add new users, define their roles, view, and edit users).
#### Functionalities by User Type
- **Content Editor**:
- **Destinations**:
- View existing destinations.
- Add new destinations (unique name required).
- Edit and delete destinations (cannot delete if articles are associated).
- **Articles**:
- View all articles.
- Create new articles (must be linked to an existing destination).
- Edit and delete articles (deletes all associated comments).
- **Administrator**: All functionalities of a Content Editor plus:
- **User Management**:
- View all users.
- Add new users (with role selection).
- Edit user details.
- Activate/deactivate Content Editors (Administrators are always active).
### Public Platform for Reading Tourist Articles
#### Features
- **Home Page**: Displays a list of the 10 latest articles.
- **Most Read**: Shows the 10 most-read articles from the last 30 days.
- **Destinations**: Lists all destinations, each linking to their associated articles.
- **Article View**: Displays full article content, author, creation date, associated activities, and reader comments (with functionality to add new comments).
### Entities
- **User**: Unique email, name, user type, status, and hashed password.
- **Destination**: General information including name and description.
- **Article**: Title, content, creation time, visit count, author, comments, and activities.
- **Activity**: Keywords describing tourist activities available at a destination.
- **Comment**: Author name, comment text, creation date.
### Additional Requirements
- **Data Storage**: Relational database for all entities and system state.
- **Error Handling**: Validation and error reporting for all operations.
- **Pagination**: Implemented for all tables and lists.
### Technologies
- **Frontend**: Vue.js
- **Backend**: JAX-RS