Skip to content

The-Developer-Bros/noteups_web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Noteups - A Lecture Notes Sharing Platform

Deployed Site Link for Frontend

FRONTEND LINK

Deployed Site Link for Backend

BACKEND LINK

Server Routes

app.use("/user", require("./routes/UserRoutes"));
app.use("/auth", require("./routes/OAuthLoginRoutes"));
app.use("/mongo", require("./routes/MongoProductRoutes"));
app.use("/productApi", require("./routes/CloudinaryProductRoutes"));
app.use("/stripeApi", require("./routes/payment/StripeRoutes"));
app.use("/api", require("./routes/api.route"));

Cloudinary Product Routes

router.get("/domains", getAllDomains);
router.get("/:domain/subdomains", getAllSubdomainsForDomain);
router.get("/:domain/:subdomain/subjects", getAllSubjectsForSubdomain);

router.get("/:domain/:subdomain/:subject", getAllPDFsForSubject);

router.get("/details/:domain/:subdomain/:subject", getSubjectDetails);
router.get("/images/:domain/:subdomain/:subject", getSubjectImages);
router.get("/pdfs/:domain/:subdomain/:subject", getSubjectPDFs);
router.get("/everything/:domain/:subdomain/:subject", getSubjectEverything);

router.post("/upload/:domain/:subdomain/:subject", uploadSubject);

Mongo Product Routes

router.get("/domains", listDomains);
router.get("/subdomains", listSubdomains);
router.get("/subjects", listSubjects);
router.get("/subscriptions", listUserSubscriptions);

OAuth Routes

router.get("/auth/google", passport.authenticate("google", { scope: ["profile", "email"] }));
router.get("/auth/google/callback", passport.authenticate("google", { failureRedirect: "/" }), (req, res) => {
  res.redirect("/");
}

.. more coming soon

User Routes

router.post("/signup", signupUserValidation, signupUser);
router.post("/signin", signinUserValidation, signinUser);

router.post(
  "/send-verification-mail",
  sendVerificationMailValidation,
  sendVerificationMail
);

router.post("/verify-user-mail", verifyUserMailValidation, verifyUserMail);

router.post(
  "/forgot-password",
  sendForgotPasswordMailValidation,
  sendForgotPasswordMail
);

router.post(
  "/verify-forgot-mail",
  verifyForgotMailValidation,
  verifyForgotMail
);

Stripe Routes

router.get("/prices", retrievePricesList);
router.post("/create-checkout-session", createCheckoutSession);
router.post("/create-subscription-session", createSubscriptionSession);
router.post("/webhook", stripeWebhooks);

Frontend Deployed on -> Netlify

  • Connect with GitHub
  • put in the build directory and the build command (CI= npm run build) along with base directory "./frontend" and the build directory "./frontend/build"
  • Setup the environment variables
  • Make an _redirects file inside public directory so that the file is located in public/_redirects and paste the line /* /index.html 200 into the _redirects file This prevents 404 on netlify page refresh
  • name the app notesup-frontend
  • Obviously setup automatic deploys with Github

Backend Deployed on -> Heroku

  • Connect with GitHub in Heroku app(noteups-backend) dashboard
  • Setup the environment variables
  • Install heroku-cli
  • heroku login
  • Can deploy to Heroku via the web interface or the command line
  • Obviously setup automatic deploys with Github

Products Data Deployed on -> Cloudinary

  • Products MetaData Deployed on -> MongoDB

How to deploy on Netlify and Heroku

Contact

Releases

No releases published

Packages

No packages published