Code Monkey home page Code Monkey logo

libraryly's People

Contributors

agnisain123 avatar amitsamui avatar codehackerone avatar gauravmitra-hash avatar haotruong avatar priyalhedau15 avatar rajarshi12321 avatar sagarshaw13 avatar singhayushh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

libraryly's Issues

Creation of Add Book form

The post route for the addition of the book is /books/add. The page must contain the following form fields.

  • category_id
  • title
  • ISBN
  • price
  • pages
  • description
  • author
  • publisher
  • inventory
    Styling the page is optional.
    The category_id can be multiple or single id.

Endpoints to filter books needed

In the frontend side of the website, there will be options to filter books on basis of author, publisher, pages, categories and average rating. Endpoints for the same are to be created in the backend.

This issue is for the backend part. A separate issue will be created for the frontend work.

Navigation bars - top nav and side nav needed

As discussed in the previous meet, we've divided the website into several components that'll be worked upon separately. This issue covers the navigation component.

For inspiration, you can refer to this dribbble shot. The hex codes and other styling attributes are there in the project readme. Make sure you follow those while designing. And of course, it is to be responsive!

Adding Review Books logic

A new model-route-controller-service is to be added for CRUD operations of Book Reviews.
The review model should include the following:

  1. author - the review author / user who reviews the book (as reference)
  2. rating - numerical rating
  3. comment - textual remarks
  4. book - book being reviewed (as reference)

Add phone validation on the register page

Phone number validation in register.ejs page on the views folder is already present. What you have to do is check whether the number is already present in the MongoDB database under the users schema.
A similar thing has been implemented for email and username.
For Example, the apiEmail function in user.controller.js checks whether the email is present in the database or not by calling theapiEmail function in user.service.js.
apiEmail
Now, an ajax call has been made to the users/api/email/[email_address] route containing the apiEmail function in user.controller.js.

Add favicon to all the webpages

We need a favicon for the website.
Contributions are welcome!
The image to be used is located at views/img/logo_small.png

Changes required in readme

There are two changes currently needed in the readme.md file of the project

  • fixing typos
  • to the project structure section, add another directory to the tree named middlewares.

For the second point above, kindly create a directory under the name middlewares in the root directory of the project and add an empty file named auth.middleware.js in this newly created directory and push all changes.

Notifications Logic

Notifications are to be automatically created in the database at various actions throughout the use of the website - issue approval, new account creation, renew dates etc. So, we need to have one reusable function that can take in the notification message and author and create a new entry in the db. Apart from these, there are to services to read and delete notifications as well.

Theme suggestions for the website

Use this issue as a thread for theme suggestions.

The website is to have a dashboard as well as a book catalogue. Share any dribbble shots or pictures or links to website designs that you'd want to suggest!

DataTable component needed

As discussed in the previous meet, we've divided the website into several components that'll be worked upon separately. This issue covers the data-table component.

This would include two tasks - configuring the datatable and designing the datatable.
One of the most widely used plugins for datatables in HTML is this jquery plugin, feel free to use that.
For the designing part, follow the discussed theme and layout for the component. The hex codes and other styling attributes are there in the project readme. Make sure you follow those while designing. And of course, it is to be responsive for smaller screens.

Routes to ban, unban and edit user needed

Two routes are to be created:

  1. POST /users/ban/{id} - accessible only for admins. This route should take in user_id as params and update the user's status from verified to banned.
  2. POST /users/unban/{id} - accessible only for admins. This route should take in user_id as params and update the user's status from banned to verified.
  3. POST users/update - accessible for authorized users. This route will allow users to change their name, phone, address and username.

Make sure you use POST instead of PUT as HTML forms do not support methods other than GET and POST.

Footer Component needed

As discussed in the previous meet, we've divided the website into several components that'll be worked upon separately. This issue covers the footer component.

Add the footer inside the views/partials directory, where you'll also find the header component. The footer is to contain a colophon section on the left side and a list of links on the right. For the time being, you can have store dummy data for these sections, we'll look into that later on.

The hex codes and other styling attributes are there in the project readme. Make sure you follow those while designing.

Book Cards component and carousel needed

Once the user logins in, he is redirected to a dashboard page where there are to be catalogues of books listed. In this page, we have decided to keep something similar to this dribble shot with horizontally sliding carousels like in Netflix.

Theming conventions can be found in the project readme. Also, you don't need to create the entire page but just the carousel and the book card, if you undertake this issue.

Redesign Index Page

The index page of any website is the face of that site. So it must be well designed and attractive.
It must contain the name, logo, GitHub link of the project. The page must be responsive. Feel free to add any other features.

The index.ejs page is present under views folder.

Don't get confused over .ejs extension. EJS is a simple templating language that is used to generate HTML markup with plain JavaScript. It also helps to embed JavaScript to HTML pages. When you open the file, you will notice that there is nothing but plain HTML code written on it.

Note:

  • Be careful with the links of css, js or images.
    For Example, if a css file is present under the css folder with the name style.css, your link href must contain
    /css/style.css and not simply css/style.css
  • Be careful with the links of anchor tag. The link must be a valid route or it will redirect to 404 page.

SVG Animations for the landing page.

We are looking for contributions towards svg animations to be used in the landing page of the website.

Since we are making a website on library management, svgs about books, reading and library management are preferred. Make sure you use open sourced SVGs and vectors, maybe from undraw.co

Best of luck and thanks in advance!

Creation of Add Book form

The post route for the addition of a category is /category/add
The form should have the following fields.

  • name (Name of the category/genre)
  • desc (Small description of the category)

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.