https://read-and-talk.herokuapp.com/
Join online book clubs and be a part of communities that read and discuss your favorite novels.
On the backend, Read & Talk implements the MVC architectural paradigm to seperate the model, view, and control components of the server. This simplifies workflow and problem-solving, especially when working as a team. In addition, we seperated the routes into its own file to enhance the benefits from this seperation of concerns. Our server of choice for this project was MongoDB, for which we used Mongoose to create schemas.
On the frontend, Read & Talk uses EJS as a templating engine, which is rendered server-side using data asychronously retrieved from the database. In several pages, we used partials to display standard page components, including navigation.
Upon first entering our site, the user is presented with a sign up page. This is configured using the passport.js module. After the user creates a free account or logs in, they have access to a list of clubs. These clubs are created by other users, and joining a community enables options that allow the user to discuss and rate books. In addition, the user may to create clubs of their own. To do so, they fill out the form which, on submission, sends a POST request to our server and creates the club document in our database.
Future iterations of Read & Talk will see expansions to community features, including the introduction of comment and friend systems. In addition, while we used Google's Embedded Viewer API to display book information on each club page, this can be expanded to display additional content. For example, each club page will have an image containing the book cover, the author(s) name, synopsis of the story, and additional works from the author(s).
We learned a lot completing this website, which included both frontend and backend programming. It was extremely beneficial to write the code for both sides, as it helped us further our understanding backend architectural paradigms.