https://github.com/ayesh03/online-book-store
https://github.com/ayesh03/online-book-store
angular html-css-javascript mongodb thunderclient typescript
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ayesh03/online-book-store
- Owner: ayesh03
- Created: 2025-04-11T07:17:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-11T13:09:46.000Z (about 1 year ago)
- Last Synced: 2025-04-12T03:35:15.410Z (about 1 year ago)
- Topics: angular, html-css-javascript, mongodb, thunderclient, typescript
- Language: TypeScript
- Homepage:
- Size: 6.28 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Online Bookstore
A full-stack web application built with Angular (frontend) and Node.js/Express (backend) to manage an online bookstore. Users can browse books, add them to a cart or wishlist, manage their profile, and toggle between Dark and Light modes for a personalized experience.
## Features
- **User Authentication**:
- Register and log in with email and password.
- Redirects to `/login` on app start and after logout.
- Redirects to `/books` (home page) after successful login.
- **Book Management**:
- Add new books with title, author, price, and genre.
- Filter books by genre using a dropdown.
- Search books by title or author with autocomplete suggestions.
- View book details by clicking titles.
- Delete books from the list.
- **Cart & Wishlist**:
- Add books to cart or wishlist.
- View and manage cart items with a checkout option.
- View wishlist items.
- **Profile**:
- Display user email and order history.
- **Dark/Light Mode Toggle**:
- Toggle between Light (default) and Dark modes via a button in the navigation bar.
- Dark mode uses a dark blue theme (`#1e2a44`) for the background, container, form inputs, and book list items.
- Preference persists across sessions using `localStorage`.
- **Responsive Design**:
- Glassmorphism UI with backdrop blur.
- Mobile-friendly layout with media queries.
## Tech Stack
- **Frontend**: Angular 17 (standalone components), TypeScript, HTML, CSS
- **Backend**: Node.js, Express.js, MongoDB (via Mongoose)
- **Styling**: Custom CSS with variables for theming
- **Tools**: Angular CLI, npm
## Prerequisites
- Node.js (v16 or higher)
- npm (v8 or higher)
- MongoDB (local or cloud instance, e.g., MongoDB Atlas)
- Angular CLI (`npm install -g @angular/cli`)
## Setup Instructions
### 1. Clone the Repository
```bash
git clone https://github.com/your-username/online-bookstore.git
cd online-bookstore