You can visit the project from here: https://bookreads-eaeec.web.app
The project idea was inspired by Goodreads.
- About this Project
- How to run the app on your computer
- Features
- Future Features
- Project Structure
- Tools
- Application Pictures
Bookreads is social media and it's all about books. This is a place to find your next book to read. Any user can create books, review books, create posts, rate books, comment on posts and be an author.
- You can download the project ZIP file or you can clone the repository directly.
- Open the project with IDE/Code Editor.
- Open terminal with
Ctrl + J
. - Navigate to bookreads folder with
cd bookreads
. - Then navigate to
client
folder withcd client
. - Type
npm i
to install all modules that are listed onpackage.json
file and their dependencies. - Type
npm start
to run the project in the browser. It will start onhttp://localhost:3000
, but you can change it to another if necessary. Typey
to do it. - Explore Bookreads.
- Meet your next book and share what you think with other users.
-
Authentication
-
Login
- log in with existing account
-
Register
- create new account
-
-
Book
-
User
- browse books
- search books by title
- search books by genre
- view books
- create new book
- rate book
- edit book (creator)
- delete book (creator)
-
Guest
- browse books
- search books by title
- search books by genre
- view books
-
-
Review
-
User
- browse book reviews
- create review
- comment on review
- like review
- edit review (creator)
- delete review (creator)
-
Guest
- browse book reviews
-
-
Post
-
Author
- view post
- read post
- create post
- delete post
- comment on post
-
User
- view post
- read post
- like post
- comment on post
-
-
Like
- browse post likes
- search user by like of a post
-
Search
- search post
- search book by title
- search book by genre
-
Profile
-
Author
- view publications
- comment on publications
- edit profile picture
- delete publication/s
-
User
- view user publications
- like user publications
- comment on user publications
- read user post review
- find user book rating
-
-
Connections
-
Followers
- follow user
- unfollow user
- block user
- unblock user
-
Following
- see who follows use
- remove user from followers
- block user
- unblock user
-
-
Chat
- send message to Bookreads user
-
Discussions
- start discussion
- invite users to discussion
-
Giveaway
- create book giveaway
- enter giveaway
- invite to giveaway
-
Client
- api - for all of the project api requests
- assets - for project assets
- components - all of the components used in multiple places
- constants - all of the project constant variables
- contexts - all of the project contexts
- features - all of the project features (authentication, books, genres and profile)
- hooks - all of the custom hooks
- layouts - for every partial code used by many components
- lib - for 3rd party libraries and their configuration files
- pages - for all of the application pages that does not store complicated logic
- services - for each application service and its requests
- utils - that contains functions used in multiple files
- validation - stores validation functions
-
Server
- config - configuring the application
- constants - all of the project constant variables
- controllers - folder, where we can separate the route and the controller function
- models - stores database schemas
- routes - contains various application routes