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

https://github.com/ibrsec/bs-store-fullstack-render

Fullstack BS Store App
https://github.com/ibrsec/bs-store-fullstack-render

express jwt material-ui mongodb react redux

Last synced: 2 months ago
JSON representation

Fullstack BS Store App

Awesome Lists containing this project

README

          








Logo

Full stack BS Store App


An awesome Full-stack BS Store App





View Demo
ยท
Frontend Repo
ยท
Backend Swagger

ยท
Report Bug
ยท
Request Feature


๐Ÿ“Ž Table of Contents ๐Ÿ“Ž


  1. About The Project


  2. Overview

  3. Quick Setup

  4. Directory structure

  5. Built With


---


## โ„น๏ธ About The Project

[![bs-store-app](./client/public/project.gif)](https://bs-store-fullstack-render.onrender.com/)

(back to top)

---


## ๐Ÿ‘€ Overview

๐Ÿ“ฆ A Fullstack BS-Store App Project
๐Ÿ€ [Frontend Live](https://bs-store-fullstack-render.onrender.com/) || [Backend Swagger](https://bs-store-fullstack-render.onrender.com/api-doc/)
FRONTEND:

๐ŸŽฏ React Development: Built a responsive frontend using React.js, ensuring a seamless user experience.

๐Ÿ›  State Management: Managed application state with Redux Toolkit and Redux Persist, providing consistent state management across sessions.

๐Ÿš€ Routing: Integrated React Router DOM for smooth navigation between key pages like login, product listings, and admin dashboard.

๐Ÿ”’ Authentication: Implemented JWT token authentication for secure user login and access control.

๐Ÿ”ฉ CRUD Operations: Enabled full CRUD operations for products and categories, accessible to admin users only.

๐Ÿ”” User Notifications: Integrated React Toastify for real-time feedback on user actions such as login, registration, and CRUD operations.

๐Ÿ’ช User Roles: Normal users can only list products, while admin users have full access to create, update, and delete products and categories.

๐ŸŒฑ Admin Access: Admin credentials are pre-populated on the login page for easy access to administrative functions.

BACKEND:

๐ŸŽฏ Express.js Framework: Developed a robust backend with Express.js, handling secure and efficient product and category management.

๐Ÿ–ฅ Database Management: Utilized MongoDB with Mongoose for flexible and consistent data modeling and querying.

๐Ÿ”’ Authentication & Authorization: Used JWT tokens for secure user authentication and authorization throughout the application.

๐Ÿ“„ API Documentation: Created comprehensive API documentation with Swagger for easy testing and understanding of endpoints.

๐Ÿ”ฉ CRUD Operations: Implemented full CRUD functionality for products and categories, with role-based access control ensuring only admins can modify data.

๐Ÿ›  Middleware & Error Handling: Employed express-async-errors and custom middleware for consistent error handling and validation across the application.

๐ŸŒ CORS Handling: Configured CORS to allow secure cross-origin requests between the frontend and backend.

(back to top)


## ๐Ÿ›ซ Quick Setup

```sh
# clone the project
git clone https://github.com/ibrsec/bs-store-fullstack-render.git

# enter the project directory
cd stockapp-fullstack-render

# install dependency
# linux
npm run setup-production
# windows
npm run setup-production-windows

# run
node index.js

```

(back to top)


## ๐Ÿ“‚ Directory structure

```diff
+ bs-store-fullstack-render (folder)
|---client (folder)
| |
| |---public (folder)
| |
+ | |---src (folder)
| | |---pages (folder)
| | |
| | |---components (folder)
| | |
| | |---app (folder) ---store.jsx
| | | โ””--features (folder)
| | | |---authSlice.jsx
| | | โ””---stockSlice.jsx
| | |
| | |
| | |---router (folder)
| | |
| | |---services (folder)
| | |
| | |---helper (folder)
| | |
| | |---App.js
| | |---Index.js
| | โ””---Index.css
| |
| |----.dockerignore
| |----dockerfile
| |----package.json
| |----yarn.lock
| โ””----readme.md
|
+ |---src (folder)
| |---config (folder)
| |
| |---controllers (folder)
| |
| |---helpers (folder)
| |
| |---middlewares (folder)
| |
| |---models (folder)
| |
| โ””---routes (folder)
|
|----.env
|----.gitignore
|----index.js
|----package-lock.json
|----package.json
|----.dockerignore
|----dockerfile
|----swaggerAutogen.js
โ””----readme.md
```

(back to top)

---


### ๐Ÿ—๏ธ Built With
Frontend

















---

Backend












(back to top)