The e-stamps project is a modern solution for the management of the philatelic activity in Tunisia.
- User Registration
- Credential authentication w/ MongoDB
- Forgot&Reset Password System
- User Profile Management
- Cloudinary Avatar Image Upload
- JSONWebToken Middleware Verification
- Modern UI w/ Styled-Components/CSS
- Full responsiveness for all devices
- Server error handling w/ react-alert
- Favorite & Cart Products System
- Products Pagination & Filtration & Searching
- Create a Product Review w/ Ratings & Comments
- Stripe Payment Integration
- Create an Order w/ shipping & payment info
- Order Status Update System
- Customer Support via Nodemailer
- View Available Philatelic Events
- Product Subscription
- Stripe recurring payment integration
- ChatBot Integration via Kommunicate
- DialogFlow ChatBot Development & Training
- Users Management
- Products Management (CRUD)
- Cloudinary Product Image Upload
- Reviews Management
- Orders Management
- Event Management (CRUD)
Frontend :
- React
- Router-dom
- Redux
- Axios
- Stripe-js
- MaterialUI
- Styled-components
Backend :
- NodeJS
- ExpressJS
- Mongoose
- Bcrypt
- Validator
- JSONWebToken
- Cookie-parser
- Cloudinary
- Stripe
- Nodemailer
-
Clone the repository
Open your terminal and run the following command to clone the repository:
git clone https://github.com/Shaclight69/e-stampsonp.git
-
Navigate to the project directory & Install backend's required packages
cd e-stampsonp npm iRun the following command to start the server:
npm run dev
-
Navigate to the frontend directory & Install the required packages
cd frontend npm iRun the following command to start the server:
npm start
-
Set up the environment variables
Make sure to create a config.env file in backend/config directory and add appropriate variables in order to use the app. fill each field w/ your info respectively
PORT=
DB_URL=
STRIPE_API_KEY=
STRIPE_SECRET_KEY=
JWT_SECRET=
JWT_EXPIRE=
COOKIE_EXPIRE=
SMPT_SERVICE =
SMPT_MAIL=
SMPT_PASSWORD=
SMPT_HOST=
SMPT_PORT=
CLOUDINARY_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=