Tagline "I'm a fan of your works"
To create a community of readers where they can discuss their favorite books and celebrate their favorite authors
A group project with Katia Gibson and Zouhrab Haider where we build a coupled app using MongoDB, Express.js, React, and Node.js to give the user a social media experience around books. Users can review books, add to their different collections, and post about their book-related topic of choice.
import { Router } from "express";
// import post controller
import * as postsCtrl from "../controller/posts.js";
const router = Router();
export { router };
// make get request for posts
router.get("/", isLoggedIn, postsCtrl.index);
// make a post request for post
router.post("/", isLoggedIn, postsCtrl.create);
// make a get/:id request for post
router.get("/:id", isLoggedIn, postsCtrl.show);
// make a get/:id request for post
router.delete("/:id", isLoggedIn, postsCtrl.delete);
// make a get/:id request for edit
router.get("/:id/edit", isLoggedIn, postsCtrl.edit);
// make a put/:id request for put
router.put("/:id", postsCtrl.update);
// make a post/:id request for post
router.post("/:id", isLoggedIn, postsCtrl.reply);
function isLoggedIn(req, res, next) {
if (req.isAuthenticated()) return next();
res.redirect("/auth/google");
}
Mongoose:
MongoDB:
Express.js:
React:
Node.js:
Google Books API:
Tailwind CSS:
JWT:
- AAU, you can attend author video book reading sessions
- AAU, you can find and register for book events
- Librarians will be able to edit author pages
- AAU, you can follow authors
- AAU, I can access an author's page
- AAU, I can see when an author is online
- AAU, you can browse books by genre
- As an author, I have a special profile page
- The book logo was taken from here.
- Landing page image Photo by Boris Ivanović on Unsplash