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

https://github.com/cepa95/advancedwebapplicationdevelopment

This repository contains college seminar and tasks for the Advanced Web Application Development course.
https://github.com/cepa95/advancedwebapplicationdevelopment

bootstrap expressjs joi mongodb mongoose nodejs react

Last synced: 3 months ago
JSON representation

This repository contains college seminar and tasks for the Advanced Web Application Development course.

Awesome Lists containing this project

README

          

# AdvancedWebApplicationDevelopment

OSS Split

Marina Rodić, viši predavač

Godina 2024./2025.

## Table of Contents📜
* [Seminar](#seminar)
* [User Authentication](#user-authentication)
* [Product Management](#product-management)
* [Product Review](#product-review)
* [Cart and Wishlist](#cart-and-wishlist)
* [Manufacturer Details](#manufacturer-details)
* [Role-based Access](#role-based-access)
* [Technologies](#technologies)
* [Topics Covered](#topics-covered)

## Seminar
![user-products](https://github.com/user-attachments/assets/31308c0a-55bc-4b70-adba-eab0f2b4a25d)

- ### User Authentication
- Users can register, log in, and log out.
- JWT-based authentication for secure API access.
![login](https://github.com/user-attachments/assets/00c73771-fdc0-48c8-bd9c-abecfcb70e13)


- ### Product Management
- Admin users can create, update, and delete products,manufacturers and users.
![Users](https://github.com/user-attachments/assets/05bc6846-0a04-4d7e-b8de-820fcb23074a)
![products](https://github.com/user-attachments/assets/3611e041-feae-467b-8965-6f3d26161ac3)

- Regular users can only view product/manufacturer details.
- ![product-details](https://github.com/user-attachments/assets/fba3b473-7471-4e85-84d5-48fb590f9152)


- ### Product Review
- Users can view products sorted by manufacturer, name or price.
![user-products](https://github.com/user-attachments/assets/b7b8bdec-7949-42a4-80f8-eec0dcdea41e)

- Click on a product to view its details and the manufacturer's information.
![product-details](https://github.com/user-attachments/assets/ecec52e5-8306-416b-82b6-08293eb8f083)


- ### Cart and Wishlist
- Users can add/remove products to/from their cart and wishlist.
![wishlist](https://github.com/user-attachments/assets/747a41a4-d882-4930-bdfe-c004824971b4)
- Checkout functionality that empties the cart after purchase.
![cart](https://github.com/user-attachments/assets/af54b2a6-df43-4783-ae93-22721635a2f9)


- ### Manufacturer Details
- Each product is linked to a manufacturer, and users can view detailed information about the manufacturer.
![details](https://github.com/user-attachments/assets/33c4c25d-dcc6-460e-94f0-b3cdbcc13fd8)

- ### Role-based Access
- Only admin users can perform CRUD operations on products, manufacturers and users.
![manufacturers](https://github.com/user-attachments/assets/46a97b4d-f9fd-4d0e-9a42-07825a13a6f2)
![create-plant](https://github.com/user-attachments/assets/e86cfae6-478e-404f-a7ce-bae98e234f46)

- Regular users can only view the existing products and manufacturers.
![details](https://github.com/user-attachments/assets/7a245ac2-16de-4df1-b6ce-feec28824c7a)
- Regular users can update their profile.
- ![update-info](https://github.com/user-attachments/assets/1e0c01b4-8a76-492f-bfad-eb31fb7ad88d)

## Technologies

- **Backend:** Express.js, MongoDB
- **Frontend:** React.js
- **Authentication:** JSON Web Tokens (JWT)
- **Database:** MongoDB
- **Routing & API:** REST API
- **Security:** JWT-based authorization

## Topics Covered

1. **Client-Server Communication**

2. **MVC and REST API Principles**

3. **Validation, Authentication, and Authorization**

4. **Asynchronous Concepts**

5. **Reactive UI Components**

6. **Internet Security Awareness**