- Using this Platform, Verified users can host their services and others can buy them by negotiating with the
- seller.
- For payment gateway, Paypal is used.
- Cloudinary is used for cloud service, Notification is done through firebase, and socket.io is used to make the platform real-time.
- This project has a total of 3 modules seller, buyer, and admin.
- Admin panel is built with react using redux-toolkit for state management.
- This project is containerized using docker.
- The project is deployed through AWS.
- NodeJS (v16.14.2)
- ExpressJS (v4.17.3)
- Yarn (v1.22.18)
- Typescript (v4.6.2)
- Mongoose (v6.2.7)
- Google Auth Library (v7.14.0)
- Cloudinary (v1.28.1)
- Socket.io (v4.5.0)
- Redis
- Twilio
- Paypal
- Google Auth
- AWS EC2
- Nginx
API
Website : https://lancer.unityshop.shop
Source Code: https://github.com/naveen-murali/lancer.git
Admin Panal
Website : https://lancer-admin.unityshop.shop
Source Code : https://github.com/naveen-murali/lancer-admin-panel.git
For running Lancer, you will only need Docker and Docker Compose or Nodejs (make sure that the nodejs version is 16.14.2) installed.
Clone Repository
$ git clone https://github.com/naveen-murali/lancer.git
$ cd lancer
Configure app
Create a .env
file in your root directory. You will need:
- PORT
- BODY_LIMIT (eg: "5gb" | "4mb")
- APP_URL (eg: "http://localhost:3000")
- REDIS_URL (eg: "redis://redis:6379")
- MULTER_FILE_LIMIT ( "in byte" )
- MONGODB_URI
- JWT_SECRET
- GOOGLE_CLIENT_ID
- TWILIO_SERVICE_ID
- TWILIO_ACCOUNTS_ID
- TWILIO_AUTH_TOKEN
- CLOUDINARY_CLOUD_NAME
- CLOUDINARY_API_KEY
- CLOUDINARY_API_SCRETE
- FIREBASE_PROJECT_ID
- FIREBASE_CLIENT_EMAIL
- FIREBASE_PRIVATE_KEY
- PAYPAL_MODE
- PAYPAL_CLIENT
- PAYPAL_SECRET
Running the application without docker
For Development
$ yarn dev
For Production
$ yarn build
$ yarn start
or
$ yarn build:start
Running the application with docker
For Production
$ docker-compose -f docker-compose.yml -f docker-compose-dev.yml up
For Production
$ docker-compose up -d
For more information contact me on: naveenmurali1999@gmail.com