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

https://github.com/kislevlevy/cashier-client

Cashier Client is a store management software offering secure user authentication, role-based access, product management, and feedback handling.
https://github.com/kislevlevy/cashier-client

express javascript mongodb nodejs oop roles-restriction user-authentication

Last synced: 8 months ago
JSON representation

Cashier Client is a store management software offering secure user authentication, role-based access, product management, and feedback handling.

Awesome Lists containing this project

README

          

# Cashier Client

## Project Overview

Cashier Client is a robust store management software designed for secure and efficient product management. This application provides features like role-based access control, secure user authentication, and comprehensive product management including adding, editing, removing products, and handling feedback. Additionally, it offers password management features and product image uploads, ensuring a secure and user-friendly experience.

## Features

- Role-based access control
- Secure user authentication
- Product management: Add, edit, remove products
- Product feedback management with restrictions
- Password management: Forgot password, reset password
- Product image upload
- Full communication with Atlas DB
- Responsive and user-friendly interface

## Technologies and Tools

### Front-End

- **JavaScript:** Adds interactivity and functionality to the web pages
- **Custom CSS:** Styles the web pages
- **HTML:** Structures the web pages
- **JSON:** Data interchange format
- **Object-Oriented Programming (OOP):** Used to create modular and reusable code

### Back-End

- **Node.js:** JavaScript runtime for server-side development
- **Express:** Web application framework for Node.js
- **MongoDB:** NoSQL database for storing application data
- **Mongoose:** ODM for MongoDB
- **JWT:** JSON Web Tokens for secure authentication

## Skills Demonstrated

- **Secure user authentication and role management:** Ensuring only authorized users can access certain features
- **Database communication:** Using MongoDB, Mongoose, and Atlas DB for data storage and retrieval
- **Full-stack development:** Building both the front-end and back-end of the application
- **Front-end development:** Creating a responsive and user-friendly interface with custom CSS, HTML, and JavaScript

## Installation

To run the project locally, follow these steps:

1. Clone the repository:
```bash
git clone https://github.com/kislevlevy/cashier-client
```
2. Navigate to the project directory:
```bash
cd cashier-client
```

### Backend Installation

1. Navigate to the back-end directory:

```bash
cd backend
```

2. Install the back-end dependencies:

```bash
npm install
```

3. Start the back-end server:
```bash
npm run dev
```

### Frontend Installation

1. Open a new terminal and navigate to the front-end directory:

```bash
cd frontend
```

2. Install the front-end dependencies:

```bash
npm install
```

3. Start the front-end server:
```bash
npm run dev
```

## Usage

- Access the application through your web browser.
- Log in with your credentials to access the features based on your role.
- Manage products, handle feedback, and perform other store management tasks.