Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zkaraqy/book-directory
Simple web app for search a book and manage it in personal collection or favorites. This project is my project-based-learning for authentication, database, and new technologies I have learned.
https://github.com/zkaraqy/book-directory
collaborate communityexchange daisyui educative ejs expressjs github github-pages google-books-api html-css-javascript learn microsoft mongodb nodejs rest-api tailwindcss web-application web-development webapp
Last synced: 25 days ago
JSON representation
Simple web app for search a book and manage it in personal collection or favorites. This project is my project-based-learning for authentication, database, and new technologies I have learned.
- Host: GitHub
- URL: https://github.com/zkaraqy/book-directory
- Owner: zkaraqy
- License: mit
- Created: 2024-08-03T14:01:36.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-09-06T10:58:31.000Z (2 months ago)
- Last Synced: 2024-09-28T07:21:01.513Z (about 1 month ago)
- Topics: collaborate, communityexchange, daisyui, educative, ejs, expressjs, github, github-pages, google-books-api, html-css-javascript, learn, microsoft, mongodb, nodejs, rest-api, tailwindcss, web-application, web-development, webapp
- Language: CSS
- Homepage:
- Size: 619 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Book Directory
## Overview
Book Directory is a simple web application that allows users to search for and manage books in a personal collection. The application integrates with the Google Books API to fetch book information and provides user authentication, allowing users to sign up, log in, and manage their book collections.## Preview URL
Click Me! (Non-active)## Features
- **Search Books**: Search for books using the Google Books API.
- **User Authentication**: Sign up, log in, and log out functionality.
- **Manage Collections**: Users can add books to their personal collection or favorites and view them.
- **Responsive Design**: The application is responsive and works well on various devices.## Technologies Used
- **Backend**: Node.js, Express.js, MongoDB
- **Frontend**: EJS (Template Engine), Tailwind CSS
- **API Integration**: Google Books API
- **Session Management**: Express-Session## Installation
1. Clone the repository:
```bash
git clone https://github.com/zkaraqy/book-directory.git
```
2. Navigate to the project directory:
```bash
cd book-directory
```
3. Install the dependencies:
```bash
npm install
```
4. Set up environment variables:
- Create a `.env` file in the root directory.
- Add the following environment variables:
```
PORT=3000
DB_URI=your_mongodb_connection_string
```5. Start the application:
```bash
npm start
```6. Open your browser and go to `http://localhost:3000`.
## Usage
- **Sign Up**: Create a new user account.
- **Log In**: Log in with your credentials.
- **Search for Books**: Use the search bar to find books by title.
- **Add to Collection**: Save books to your personal collection or favorites.
- **View Collection**: Access your collection from your profile.## Folder Structure
- **`config/`**: Configuration files for the database, session, and other settings.
- **`controllers/`**: Handles the application's business logic.
- **`middleware/`**: Custom middleware functions.
- **`public/`**: Static files such as CSS, JavaScript, and images.
- **`routes/`**: Route definitions for the application.
- **`services/`**: Services like the Google Books API integration.
- **`utils/`**: Utility functions used across the application.
- **`views/`**: EJS templates for rendering the UI.## Contributing
Feel free to fork this repository, make changes, and submit pull requests. For major changes, please open an issue first to discuss what you would like to change.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.