📌 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
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
ℹ️ 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
⚙️ 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
)
🔤 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.