Skip to content

A web application that provides an online catalog for a small local library.

License

Notifications You must be signed in to change notification settings

MiDo-kun/Local-Library

Repository files navigation

Local Library - Express.js

Project Description

A web application that provides an online catalog for a small local library. The application allows users to browse available books and manage their accounts.

For the backend, I utilized the Express.js framework to build a full stack web application with basic CRUD (Create, Read, Update, Delete) functionalities for persistent data storage and retrieval. I also utilized MVC (Model View Controller) architecture to design and organize the codebase for better maintainability, readability, and scalability.

This project allowed me to gain experience with backend web development, web application architecture, and database design, as well as frontend web development with Pug, JQuery, and Bootstrap.

You can view the live website here.

Note: If you need a diagram you can find it here. Zoom out to see the whole diagram.

Main Objectives

I created this project as a way to break out of tutorial hell and improve my skills in building server-side applications. I used the Express.js framework to develop a local library website, where users can browse available books and manage their accounts.

To build this project, I relied on a combination of resources, including the official documentation of the web technologies and used a tutorial from Mozilla Developer Network (MDN). I found the MDN tutorial to be particularly helpful, as it provided step-by-step guidance on how to build a full-stack web application with Express.js and Node.js.

Through this project, I gained valuable experience in building server-side applications using Express.js and learned how to utilize the MVC (Model View Controller) architecture to organize my code for better maintainability and scalability.

I am grateful for the resources that helped me develop my skills and highly recommend the MDN tutorial for anyone looking to learn how to build a server-side application with Express.js and Node.js. You can find the tutorial at this link.

Key Features

The Local Library offers the following key features:

  • CREATE - Allows users to create a new author, genre, book, and book instance.
  • READ - Displays all books, authors, genres, and book instances.
  • UPDATE - Enables users to update author, genre, book, and book instance details.
  • DELETE - Allows users to delete authors, genres, books, and book instances.

What I've Learned

During the development of this project, I learned:

  • Using Pug, a popular template engine for rendering static sites with Express.js
  • Implementing responsive design with Bootstrap
  • Utilizing HTML forms to gather user input and store it in a database
  • Designing database models using UML

Overall, this project provided me with a solid foundation in modern web development using Express and related technologies. The skills and knowledge I gained will be useful in future web development projects.

Quick Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/MiDo-kun/Local_Library.git

  2. Navigate to the project directory:

    cd your-repository

  3. Install the dependencies:

    npm install

  4. Start the development server:

    npm run dev

Open your web browser and navigate to http://localhost:3000 to view the website.

Contributing

Contributions are welcome! If you want to contribute to the project, please follow these guidelines:

  1. Fork the repository to your own GitHub account.

  2. Clone the repository to your local machine:

    git clone https://github.com/MiDo-kun/Local_Library.git

  3. Create a new branch for your changes:

    git checkout -b your-branch-name

  4. Make your changes to the code.

  5. Commit your changes:

    git commit -m "Your commit message"

  6. Push your changes to your fork:

    git push origin your-branch-name

  7. Create a pull request from your fork to the main repository.

License

This project is licensed under the MIT License. See the LICENSE file for more information.