Merge branch 'main' into yashrajverma

This commit is contained in:
yashraj verma 2021-05-27 20:33:54 +05:30 committed by GitHub
commit b31361fb4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 274 additions and 268 deletions

View File

@ -9,8 +9,8 @@ const { getAllCoupons } = require('./coupon');
//test credentials of razorpay
const instance = new razorpay({
key_id : 'rzp_test_tLx9c6GiWjKcsl' ,
key_secret : '4Cf52d6C3amkptdRLCTdC2sT'
key_id : process.env.KEY_ID ,
key_secret : process.env.KEY_SECRET
}) ;
module.exports.postVerify =async (req , res , next) => {
@ -108,6 +108,9 @@ module.exports.postRazorpay = async (req , res , next) => {
const courseId = req.body.courseId ;
const couponCode = req.body.couponCode ;
const userId = req.user._id ;
console.log("Course ID =" ,courseId ," Coupon code =" , couponCode ," user ID =" , userId) ;
let user = await User.findById(userId) ;
let student =await Student.findById(user.student) ;
let course =await CourseType.findById(courseId) ;

View File

@ -2,6 +2,11 @@
"env" : {
"MONGO_USER":"Cantilever",
"MONGO_PASSWORD" :"Cantilever" ,
"MONGO_DEFAULT_DATABASE" :"myFirstDatabase"
"MONGO_DEFAULT_DATABASE" :"myFirstDatabase" ,
"KEY_ID" : "rzp_live_aD9j5WLBGtdQxt" ,
"KEY_SECRET" : "o9BDCwYcpNcHyFL5yjiY7OWG" ,
"EMAIL" : "AKIA2G7743RRTZMVXE3X" ,
"HOST" : "email-smtp.us-east-1.amazonaws.com" ,
"PASS" : "BJSjV3jArJfsnk1LhFc/hUmisEyEtbLNGgrRbv0noh8c"
}
}

528
readme.md
View File

@ -1,199 +1,195 @@
# Cantileverlabs Nodejs Backend API Documentation.
## Project Structure :
```
/root
|- controllers
| |-- admin.js
| |-- auth.js
| |-- blog.js
| |-- coupon.js
| |-- course.js
| |-- payment.js
| |-- profile.js
| |-- query.js
|
|- middlewares
| |-- isAdmin.js
| |-- requireLogin.js
|
|- models
| |-- Blog.js
| |-- Coupon.js
| |-- Course.js
| |-- CourseType.js
| |-- Order.js
| |-- query.js
| |-- Student.js
| |-- User.js
|
|- routes
| |-- admin.js
| |-- auth.js
| |-- blog.js
| |-- Coupon.js
| |-- course.js
| |-- payment.js
| |-- profile.js
| |-- query.js
|
|- app.js
```
### App will listen on the port `http://localhost:5000`
# Routes Functions and Body Parameters.
## File :- Admin.js
```
Route : /addSchedule
Method: POST
Requirements : |-- isAuth
|-- isAdmin
Route : /editSchedule
Method: POST
Requirements : |-- isAuth
|-- isAdmin
Route : /deleteSchedule
Method: POST
Requirements : |-- isAuth
|-- isAdmin
```
## Project Structure :
## File :- Auth.js
### Note: `All the Body Params are as it is`
```
Route : /protected
Method: GET
Requirements : |-- isAuth
Route : /signup
Method: POST
Body Params :- firstName
- lastName
- email *must*
- password *must*
---------- for sending the Verification Emial to user.
- sending_company_email
- subject
Response : {
message:"You are Registered, Please Login"
}
Response if email verification: {
message:"Email sent with 6 Digit OTP , Check your Email"
}
Route : /verifyemail
Method: POST
Body Params: - otp
Route : /signin
Method: POST
Body Params : - email
- password
Route : /sendotp
Method: POST
Body Params : phoneNumber
Respone : {id:id} id of the transaction.
Route : /getotp
Method: POST
Body Params : id , otp
Response : {message:"Code Verified"}
Route : /forgotpassword
Method: POST
Body Params : email,link,sending_company_email,subject.
{ - email of the user. }
{ - link is where to send the user for resetting a password. }
{ - sending_company_email is email address of the comapny to send the email to the user. }
{ - subject is email subject }
Route : /resetpassword/:_id/:token
Method: POST
Headers Params : _id, token
Body Params : password
Response : {message:"Password Updated!"}
```
```
/root
|- controllers
| |-- admin.js
| |-- auth.js
| |-- blog.js
| |-- coupon.js
| |-- course.js
| |-- payment.js
| |-- profile.js
| |-- query.js
|
|- middlewares
| |-- isAdmin.js
| |-- requireLogin.js
|
|- models
| |-- Blog.js
| |-- Coupon.js
| |-- Course.js
| |-- CourseType.js
| |-- Order.js
| |-- query.js
| |-- Student.js
| |-- User.js
|
|- routes
| |-- admin.js
| |-- auth.js
| |-- blog.js
| |-- Coupon.js
| |-- course.js
| |-- payment.js
| |-- profile.js
| |-- query.js
|
|- app.js
```
## File :- BLog.js
```
Route : /addBlog
Method: POST
Body Params : _id , title , body , author , image
String : { _id : Database _id of a person who is adding up a blog}
String : { title : title of the blog}
String: { body : body of the blog}
String: image of the blog to be added}
String : Author of the blog}
Route : /getAllBlogs
Method: GET
Body Params : none
Route : /deleteBlog
Method: POST
Body Params : _id * must *
{ _id : _id is a id of the blog to delete.}
Route : /editBlog
Method: POST
Body Params : _id * must * , body , title , image.
String : { _id : Database _id of a person who is adding up a blog}
String : { title : title of the blog}
String: { body : body of the blog}
String: image of the blog to be added}
```
### App will listen on the port `http://localhost:5000`
# Routes Functions and Body Parameters.
## File :- Admin.js
```
Route : /addSchedule
Method: POST
Requirements : |-- isAuth
|-- isAdmin
Route : /editSchedule
Method: POST
Requirements : |-- isAuth
|-- isAdmin
Route : /deleteSchedule
Method: POST
Requirements : |-- isAuth
|-- isAdmin
```
## File :- Auth.js
### Note: `All the Body Params are as it is`
```
Route : /protected
Method: GET
Requirements : |-- isAuth
Route : /signup
Method: POST
Body Params :- firstName
- lastName
- email *must*
- password *must*
---------- for sending the Verification Emial to user.
- sending_company_email
- subject
Response : {
message:"You are Registered, Please Login"
}
Response if email verification: {
message:"Email sent with 6 Digit OTP , Check your Email"
}
Route : /verifyemail
Method: POST
Body Params: - otp
Route : /signin
Method: POST
Body Params : - email
- password
Route : /sendotp
Method: POST
Body Params : phoneNumber
Respone : {id:id} id of the transaction.
Route : /getotp
Method: POST
Body Params : id , otp
Response : {message:"Code Verified"}
Route : /forgotpassword
Method: POST
Body Params : email,link,sending_company_email,subject.
{ - email of the user. }
{ - link is where to send the user for resetting a password. }
{ - sending_company_email is email address of the comapny to send the email to the user. }
{ - subject is email subject }
Route : /resetpassword/:_id/:token
Method: POST
Headers Params : _id, token
Body Params : password
Response : {message:"Password Updated!"}
```
## File :- BLog.js
```
Route : /addBlog
Method: POST
Body Params : _id , title , body , author , image
String : { _id : Database _id of a person who is adding up a blog}
String : { title : title of the blog}
String: { body : body of the blog}
String: image of the blog to be added}
String : Author of the blog}
Route : /getAllBlogs
Method: GET
Body Params : none
Route : /deleteBlog
Method: POST
Body Params : _id * must *
{ _id : _id is a id of the blog to delete.}
Route : /editBlog
Method: POST
Body Params : _id * must * , body , title , image.
String : { _id : Database _id of a person who is adding up a blog}
String : { title : title of the blog}
String: { body : body of the blog}
String: image of the blog to be added}
```
## File :- Coupon.js
```
Route : /set-coupon
Method: POST
Body Params : percentage , coupon_code , remainingTimes
String : { couponCode : Coupon code of the coupon}
String: { percentage: Discount percentage of the coupon}
String: { numAllowed : No of times the coupon is allwoed}
Route : /getAllCoupons
Method: GET
Body Params : none
Route : /deleteCoupon
Method: POST
Requirements : isAdmin, isAuth
Body Params : couponCode * must *
{ couponCode : coupon code of the coupon }
Route : /addCoupon
Method: POST
Requirements : isAdmin, isAuth
Body Params : couponCode * must * , percentage , numAllowed
String : { couponCode : Coupon code of the coupon}
String: { percentage: Discount percentage of the coupon}
String: { numAllowed : No of times the coupon is allwoed}
```
## File :- Coupon.js
```
Route : /set-coupon
Method: POST
Body Params : percentage , coupon_code , remainingTimes
String : { couponCode : Coupon code of the coupon}
String: { percentage: Discount percentage of the coupon}
String: { numAllowed : No of times the coupon is allwoed}
Route : /getAllCoupons
Method: GET
Body Params : none
Route : /deleteCoupon
Method: POST
Requirements : isAdmin, isAuth
Body Params : couponCode * must *
{ couponCode : coupon code of the coupon }
Route : /addCoupon
Method: POST
Requirements : isAdmin, isAuth
Body Params : couponCode * must * , percentage , numAllowed
String : { couponCode : Coupon code of the coupon}
String: { percentage: Discount percentage of the coupon}
String: { numAllowed : No of times the coupon is allwoed}
```
## File Course.js
@ -201,8 +197,8 @@
Route : /addCourse
Method : POST
Requirements : isAdmin , isAuth
Body Params : name , mentor , totalLectures , route
Body Params : name , mentor , totalLectures , route
Route : /getAllCourse
Method : GET
Requirements : None
@ -211,101 +207,103 @@
Route : /getSingleParCourse
Method : POST
Body Params : parCourseId
Body Params : parCourseId
Route : /getMeetSchedule
Method : POST
Requiremnents : isAuth
Body Params : courseId
Body Params : courseId
Route : /getFromRoute
Method : GET
Requirements : None
Query Params : route
Route : /addClick
Method : POST
Requiremnts : isAuth
Body Params : route , userId
Body Params : route , userId
```
## File Payments.js
```
Route : /verification
Method : POST
Requirements : None
Body Params :
Route : /razorpay
Method : POST
Requirements : requireLogin
Body Params : courseId , couponCode
```
## File Profle.js
```
Route : getProfile
Method : GET
Requirements : requireLogin
Body Params : _id of the User.
Route : postProfile
Method : POST
Requirements : requireLogin
Body Params : _id , interests , projects , yearofgrad , phoneNumber , institute , skills
Route : deleteUser
Method : POST
Requirements : requireLogin
Body Params : _id
{_id : _id of the User to delete the Profile}
Route : editUser
Method : POST
Requirements : requireLogin
Body Params : _id , newFirstName , newLastName ,email
{_id : _id of the user to edit the profile}
{newFirstName : New Name }
{newLastName : New last name}
{email : if email has to be changed}
```
## File Payments.js
```
Route : /verification
Method : POST
Requirements : None
Body Params :
Route : /razorpay
Method : POST
Requirements : requireLogin
Body Params : courseId , couponCode
```
## File Profle.js
```
Route : getProfile
Method : GET
Requirements : requireLogin
Body Params : _id of the User.
Route : postProfile
Method : POST
Requirements : requireLogin
Body Params : _id , interests , projects , yearofgrad , phoneNumber , institute , skills
Route : deleteUser
Method : POST
Requirements : requireLogin
Body Params : _id
{_id : _id of the User to delete the Profile}
Route : editUser
Method : POST
Requirements : requireLogin
Body Params : _id , newFirstName , newLastName ,email
{_id : _id of the user to edit the profile}
{newFirstName : New Name }
{newLastName : New last name}
{email : if email has to be changed}
```
## File Query.js
```
Route : addQuery
Method : POST
Requirements : None
Body Params : fullName , phoneNumber , email , query , other , graduationYear
Body Params : fullName , phoneNumber , email , query , other , graduationYear
Route : getAllQueries
Method : GET
Requirements : None
Body Params : None
Route : getOtherQueries
Route : getOtherQueries
Method : GET
Requirements : None
Body Params : None
Route : getTypeQueries
Method : POST
Requirements : None
Body Params : type
```
Body Params : type