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.
- Host: GitHub
- URL: https://github.com/kislevlevy/cashier-client
- Owner: kislevlevy
- Created: 2024-08-16T14:49:42.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-01-27T22:57:11.000Z (10 months ago)
- Last Synced: 2025-01-27T23:27:27.299Z (10 months ago)
- Topics: express, javascript, mongodb, nodejs, oop, roles-restriction, user-authentication
- Language: JavaScript
- Homepage: https://cashier-client.kislev.me
- Size: 121 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.