Skip to content

🖥️ Web system for completing, sharing & buying PC sets with REST API server, based on the MERN stack. Proj. cont. Express.js app as a backend (server) & React app as a frontend (client, adm. panel). 📌

Notifications You must be signed in to change notification settings

jakubcieslik99/pclab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PCLab 🖥️

📌 Complete web system for completing computer sets, sharing them and buying with REST API server, based on the MERN stack. Project contains Express.js app as a backend (server), React app as a frontend (client) and another React app as an administrator panel.

GitHub package.json version (subfolder of monorepo) GitHub package.json version (subfolder of monorepo) GitHub package.json version (subfolder of monorepo) GitHub top language GitHub repo size Website) Admin Panel)

Features

  • Searching for computer sets that suits your needs
  • Completing computer sets based on available components
  • Editing created computer sets
  • Sharing computer sets
  • Buying available computer sets
  • Rating computer sets
  • Commenting computer sets

Screenshots

Run Locally

  • Clone repository
  git clone https://github.com/jakubcieslik99/pclab.git

ℹ️ Instructions for running server app locally:

  • Navigate to the server directory and install dependencies
  cd pclab/server
  npm install
  • Run server app in development mode
  npm run docker
  npm run dev
  • Last recommended step is to run locally Stripe development webhook service

ℹ️ Instructions for running client app locally:

  • Navigate to the client directory and install dependencies
  cd pclab/client
  npm install
  • Run client app in development mode
  npm run dev

ℹ️ Instructions for running admin panel locally:

  • Navigate to the admin directory and install dependencies
  cd pclab/admin
  npm install
  • Run admin panel in development mode
  npm run dev

Deployment

ℹ️ Instructions for building and running server app in production

  • Convert to production build
  npm run build
  • Run server app in production mode
  npm install --omit=dev
  npm run start

ℹ️ Instructions for building client app to production

  • Create production build
  npm run build

ℹ️ Instructions for building admin panel to production

  • Create production build
  npm run build

Environment Variables

⚙️ To run server app, you will need to add the following environment variables to your .env file

  • DIR (default already set for development)

  • ENV (default already set for development)

  • MONGO_VER

  • HOST

  • PORT

  • API_URL

  • APP_URL

  • ADMINPANEL_URL

  • MONGO_HOST

  • MONGO_PORT

  • MONGO_DB

  • MONGO_USER

  • MONGO_PASSWORD

  • JWT_ACCESS_TOKEN_SECRET

  • JWT_REFRESH_TOKEN_SECRET

  • CRYPTO_SECRET

  • STRIPE_SECRET

  • STRIPE_ENDPOINT_SECRET

  • GMAIL_ADDRESS

  • GMAIL_PASSWORD

  • NOREPLY_ADDRESS

( ℹ️ - sample .env config file is provided in the server directory under the name .env.sample )

⚙️ To build client app, you will need to add the following environment variables to your .env file

  • VITE_API_STRIPE

  • VITE_API_URL

  • VITE_APP_URL

( ℹ️ - sample .env config file is provided in the client app directory under the name .env.sample )

⚙️ To build admin panel, you will need to add the following environment variables to your .env file

  • VITE_API_URL

  • VITE_ADMINPANEL_URL

  • VITE_APP_URL

( ℹ️ - sample .env config file is provided in the admin panel directory under the name .env.sample )

Languages

🔤 Available client app languages: PL

🔤 Available admin panel languages: PL

Feedback

If you have any feedback, please reach out to me at ✉️ contact@jakubcieslik.com

Authors

The whole project was developed as an engineering thesis at the University of Zielona Góra, titled "A web system for completing computer sets, based on the Node.js environment". The version saved on an attached CD and submitted as part of the diploma work is the property of the University of Zielona Góra.

About

🖥️ Web system for completing, sharing & buying PC sets with REST API server, based on the MERN stack. Proj. cont. Express.js app as a backend (server) & React app as a frontend (client, adm. panel). 📌

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages