📌 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.
- 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
- 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
pnpm install
- Run server app in development mode
pnpm run docker
pnpm 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
pnpm install
- Run client app in development mode
pnpm run dev
ℹ️ Instructions for running admin panel locally:
- Navigate to the admin directory and install dependencies
cd pclab/admin
pnpm install
- Run admin panel in development mode
pnpm run dev
ℹ️ Instructions for building and running server app in production
- Convert to production build
pnpm run build
- Run server app in production mode
pnpm install --prod
pnpm run start
ℹ️ Instructions for building and running client app in production
- Create production build
pnpm run build
- Run client app in production mode
pnpm run preview
ℹ️ Instructions for building and running admin panel in production
- Create production build
pnpm run build
- Run admin panel app in production mode
pnpm run preview
⚙️ 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_PREVIEW_PORT
VITE_API_URL
VITE_APP_URL
VITE_API_STRIPE
( ℹ️ - 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_PREVIEW_PORT_2
VITE_API_URL
VITE_APP_URL
VITE_ADMINPANEL_URL
( ℹ️ - sample .env config file is provided in the admin panel directory under the name .env.sample
)
🔤 Available client app languages: PL
🔤 Available admin panel languages: PL
If you have any feedback, please reach out to me at ✉️ contact@jakubcieslik.com
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.