pupstols

An RDBMS web app for the stall owners of Polytechnic University of the Philippines built on ReactJS, NodeJS, and Bootstrap.

MIT License

Stars
0
Committers
3

About The Project

This project aims to connect MariaDB with Node.js to build a web application for PUP stall owners. MariaDB will manage data storage, while Node.js will handle the server-side operations.

Table Of Contents

Features

  • Authentication System
  • Log in and log out function
  • Dashboard
  • PUP Lagoon Carousel
  • Profile
  • Sign Up
  • Inventory Management
  • Finance Management
  • Transaction Management
  • Rent History Tracking

Technologies Used

PUPStols uses a number of open source projects to work properly:

  • React: A JavaScript library for building user interfaces, maintained by Facebook.
  • Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine, used for server-side scripting.
  • Express: A fast, unopinionated, minimalist web framework for Node.js.
  • MariaDB: An open-source relational database management system, compatible with MySQL.
  • bcrypt: A library to help hash passwords.
  • jsonwebtoken: An implementation of JSON Web Tokens (JWT) for authentication.

Database Design

Database design plays a very important part in the Software Development Life Cycle (SDLC). This part includes creating metadata, normalization, and constructing an Entity-Relationship Diagram (ERD).

To add, provided here is the .sql file of dbStalls (the database used) if you want to have the database ready with dummy data.

Website Snapshots

Log in page

Sign up page

Home page

CRUD page example

Read-only page

Profile page

Folder Structure

.
├── client                  # Client-side folder
│ ├──── node_modules        # React Packages
│ ├──── public              # Auto-generated react files
│ └──── src                 # Source files
├── server                  # Server-side folder
│ ├──── config              # Database connection
│ ├──── controllers         # Controllers 
│ ├──── middlewares         # Middlewares
│ ├──── models              # Models
│ ├──── node_modules        # Node Packages
│ ├──── routers             # Endpoints
| └──── server.js           # Main server file
└── README.md

Getting Started

PUPStols is not yet accessible to the world wide web, as it is yet to be deployed. But, if you're interested in seeing the UI and experience the website yourself, you are in the right section of the README. To get started with accessing the source code, follow the steps below.

Prequisites

  • Ensure that Node.js and npm are installed on your machine.

Installation

  1. You can fork this repository, or you can also clone this repository directly on your local machine.

  2. After cloning the repository on your local machine, access it on any IDE.

    After opening the project, you should see all the files listed on the Folder Structure, but without the .env for the server-side code.

  3. Install dependencies using,

    npm install
    
  4. Create a .env on the server folder and type the code below. Make sure to replace YOUR_DB_PASSWORD_HERE with your actual MariaDB/MySQL/Any RDBMS password.

    DATABASE_PASSWORD="YOUR_DB_PASSWORD_HERE"
    
  5. Configure the database connection in server/config/db.js as per your MariaDB/MySQL/Any RDBMS database environment.

  6. To install the required dependencies for the client folder, see the package.json for the client-side.

  7. To install the required dependencies for the server folder, see the package.json for the server-side.

Run

  • Run the server on /server.

    node server.js
    
  • With nodemon, you can run the server using,

    npm run server
    
  • Run the client on /client.

    npm start
    

Contributors

We would like to thank the following contributors for their support and contributions to this project:

License

Distributed under the MIT License. See LICENSE for more information.

Related Projects