Skip to content

CRM CRUD Admin Panel app, built in React and node.js connected to MySQL

Notifications You must be signed in to change notification settings

Zlvsky/One-place

Repository files navigation


Logo

One Place

This is my first self made bigger project that I was working on recently. It is CRM, CRUD app built on: front-end: react, back-end: node.js, express, mysql.
Main purpose of this project is to manage business based on orders that don't need online shop.
For example selling items on livestreams.

Showcase of project

Login page

Page content is restricted to logged in users only

Authentication is based on passport middleware

Accounts are stored in mysql database and passwords are hashed via bcrypt library


Homepage

In homepage there are summaries of orders, clients, upcoming events etc.

There is interactive graph which shows total earnings by past 12 months based on actual date

Orders page

Orders are fetched from database and displayed in filtered array

Adding new orders

Users can add new orders

New orders can be assigned to existing clients or new client can be added

Order page by ID

Each order have it's individual page

Clients page

Works similar as order pages

Clients can be added by users

Each client have his own individual page, with content like: total orders, total spendings etc.

Events calendar page

Users can add upcoming events

Events are separeted to 2 pieces

First piece are current and upcoming events

Second piece are expired events

Events are filtered by date: closest events are at top

Admin panel

If logged user is admin, he have access to admin panel

For that moment he can add new users, aswell as deleting them

Additional info

I've styled the whole app with pure CSS by myself

The app was designed to be non-scrollable.

I've decided to not use next.js to improve my node.js skills and learn more about front-end --- back-end synergy

(back to top)

Built With

(back to top)

Installation

  1. Clone the repo
    git clone https://github.com/Zlvsky/One-place.git
  2. Install NPM packages in root folder and /client folder
    npm install
  3. Create and configure your .env file in root folder
     DB_HOST='127.0.0.1'
     DB_USER=''
     DB_PASSWORD=''
     DATABASE=''
  4. Import sql database template to server (one-place.sql)
  5. Add first admin account
  6. Run app with concurrently library (node.js and react app at the same time)
    npm run dev | npm run build

(back to top)