Go to file
yashraj verma e4087ef010
Merge pull request #23 from yashrajverma/yashrajverma
AWS
2021-06-07 15:57:12 +05:30
controllers AWS 2021-06-07 14:44:46 +05:30
middleware added isAdmin in user 2021-04-12 18:14:50 +05:30
models AWS 2021-06-07 14:44:46 +05:30
routes Creds 2021-06-05 15:51:38 +05:30
test Date Login 2021-06-02 10:51:56 +05:30
views Added Verify Email, Send OTP , GET OTP , Forgot password , Reset Password 2021-05-16 16:01:39 +05:30
.gitignore AWS 2021-06-07 15:52:11 +05:30
.npmrc AWS 2021-06-07 15:56:51 +05:30
ProcFile AWS 2021-06-07 15:39:43 +05:30
app.js Update app.js 2021-06-02 17:43:25 +05:30
nodemon.json Creds 2021-06-05 15:51:38 +05:30
package-lock.json Date Login 2021-06-02 10:51:56 +05:30
package.json AWS 2021-06-07 15:46:23 +05:30
passport-setup.js Added Profile and updated Schema 2021-04-01 19:08:27 +05:30
payment1.json Adding course model and functionalities 2021-04-10 13:17:40 +05:30
readme.md Update readme.md 2021-05-29 14:03:20 +05:30

readme.md

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
                  

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 , _id
   Respone : {_id} _id is the user id that just signedup .
                
   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 Course.js

    Route : /addCourse
    Method : POST
    Requirements : isAdmin , isAuth
    Body Params : name , mentor , totalLectures , route    
    
    Route : /getAllCourse
    Method : GET
    Requirements : None
    Body Params : None


    Route : /getSingleParCourse
    Method : POST
    Body Params : parCourseId 
    
    
    Route : /getMeetSchedule
    Method : POST
    Requiremnents : isAuth
    Body Params : courseId 
    
    
   Route : /getFromRoute
   Method : GET
   Requirements : None
   Query Params : route
   
   
   Route : /addClick
   Method : POST
   Requiremnts : isAuth
   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 Query.js

      Route : addQuery
      Method : POST
      Requirements : None
      Body Params : fullName , phoneNumber , email , query , other , graduationYear 
      
      
      Route :  getAllQueries
      Method : GET
      Requirements : None
      Body Params : None
      
      
      Route : getOtherQueries 
      Method : GET
      Requirements : None
      Body Params : None
      
      
      Route : getTypeQueries
      Method : POST
      Requirements : None
      Body Params : type