Giter Club home page Giter Club logo

book-logger's Introduction

๐Ÿ“š Book Logger

A simple application for creating and storing books that a user has read, wants to read, or is currently reading.

Users can create an account to store their books information.

View this project on Render.

โš ๏ธ Due to the limits of Render's free tier, please allow for at least a minute for the application to spin up (after 15 minutes of inactivity).

๐Ÿ’ก Information

After doing some tutorials and learning about different concepts including routing, authentication, managing user roles and the EJS view engine, this was my first attempt in creating a Node and Express project on my own, that uses authentication and CRUD operations. Because of this, this project was challenging to make. What made it more challenging were obstacles that I did not anticipate first. For example, implementing PUT and DELETE requests was not as straightforward, since you can only send GET and POST requests from HTML forms. Nonetheless, building this application has been fun, and has given me the basic skills to create simple CRUD applications with authentication using Express. I have also learnt how to organise an Express project using the MVC pattern.

Here are some positive outcomes from creating this project:

  • Learnt how to send PUT and DELETE requests from HTML forms using the method-override package
  • Learnt about authentication using Passport.js with local strategy
  • Learnt about how to manage user roles
  • Deepened understanding of how middleware works

Also, I understand that the code in this project may not be very efficient or follow best practises. But with every project I make, I try to practise and improve the way I code.

๐Ÿ–ฅ๏ธ Tech Stack:

  • Node.js
  • Express.js
  • MongoDB

๐Ÿ“ฆ Dependencies:

  • Mongoose (ODM for performing ...)
  • EJS (view engine)
  • Passport.js and passport-local (implementing simple and secure authentication with passwords)
  • bcrypt (hashing passwords)
  • express-session (for mainta)
  • express-flash (sending feedback when login fails)
  • method-override (allowing HTML forms to send PUT and DELETE requests)
  • dotenv (accessing environment variables)

book-logger's People

Contributors

sa9102 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.