book-store

byHP Ultra

Create a full-stack Online Book Store Web Application with a modern responsive UI. Project Overview: Build an e-commerce platform where users can browse books, add books to cart, place orders, and manage their accounts. Admin users should be able to manage books and inventory. Technology Stack: Frontend: React JS HTML5 CSS3 JavaScript Axios for API calls React Router for navigation Backend: Java Spring Boot Spring MVC Spring Data JPA / Hibernate REST APIs Spring Security JWT Authentication Database: MySQL User Modules: 1. User Registration & Login Features: User signup User login JWT-based authentication Password encryption using BCrypt Role-based access: USER ADMIN User fields: id name email password role 2. View Books Create a book listing page. Features: Display all available books Search books by title Filter books by category View book details Book fields: id title author description price quantity category imageUrl 3. Shopping Cart Features: Add books to cart Update quantity Remove books View total price Cart table: Fields: id user_id book_id quantity 4. Place Order Features: Checkout page Create order Save order details View order history Orders table: Fields: id user_id total_amount order_date status Admin Module Admin dashboard with: Book Management Features: Add new books Update books Delete books View all books Manage stock Admin APIs: POST: /api/admin/books GET: /api/admin/books PUT: /api/admin/books/{id} DELETE: /api/admin/books/{id} Extra Features: Book Image Upload Implement: Upload book cover images Store images in backend uploads folder Save image path in database Example: uploads/books/image-name.jpg Category Filter Create categories: Fiction Technology Programming Business Science History API: GET /api/books/category/{category} Backend Structure: Create packages: com.bookstore controller service repository entity security config dto exception Entities: Create: User.java Fields: id name email password role Book.java Fields: id title author description price category quantity imageUrl Cart.java Fields: id user book quantity Order.java Fields: id user totalAmount orderDate status Security: Implement: JWT Token Generation JWT Authentication Filter Spring Security Configuration Protected APIs Rules: USER: View books Add cart Place order ADMIN: Add/update/delete books Manage inventory Frontend Pages: Create: Home Page Login Page Register Page Book List Page Book Details Page Cart Page Checkout Page Order History Page Admin Dashboard Add Book Page Update Book Page UI Requirements: Responsive design Modern ecommerce style Navbar Footer Book cards Shopping cart icon Clean CSS design API Integration: Use Axios. Create: src/api/api.js Configure: baseURL=http://localhost:8080/api Handle: JWT token storage Authorization headers Error handling Database: Create MySQL database: bookstore_db Tables: users books cart orders Add sample book data. Deliverables: Generate: Spring Boot backend code MySQL database schema REST API endpoints JWT authentication React frontend CSS styling Complete project folder structure Make the project production-ready with clean architecture and best practices.

HomeAdminDashboardOrderHistoryRegisterAddBookBookList
Home

Comments (0)

No comments yet. Be the first!

Project Tasks19

#1

Backend Auth & Security Setup

To Do

As a Backend Developer, implement JWT token generation, JWT authentication filter, Spring Security configuration, BCrypt password encryption, and role-based access control (USER/ADMIN roles). Expose endpoints: POST /api/auth/register, POST /api/auth/login. Protect all non-public endpoints using JWT filter. Package: com.bookstore.security, com.bookstore.config.

AI 70%
Human 30%
High Priority
2 days
Backend Developer
#7

MySQL Database Schema & Seeds

To Do

As a Backend Developer, create MySQL database 'bookstore_db' with tables: users, books, cart, orders. Write schema.sql with proper foreign keys and constraints. Write data.sql with sample books across all six categories (Fiction, Technology, Programming, Business, Science, History). Configure Spring Boot application.properties with MySQL datasource, Hibernate DDL settings, and file upload max size for image uploads.

AI 55%
Human 45%
High Priority
1 day
Backend Developer
#8

React Project Setup & Routing

To Do

As a Frontend Developer, initialize the React JS project structure with React Router for navigation. Set up src/api/api.js with Axios configured: baseURL=http://localhost:8080/api, JWT token storage in localStorage, Authorization header injection interceptor, and global error handling. Define routes for: Home, Login, Register, Book List, Book Details, Cart, Checkout, Order History, Admin Dashboard, Add Book, Update Book pages. Set up global CSS base styles for modern ecommerce look.

AI 60%
Human 40%
High Priority
1 day
Frontend Developer
#18

Integrate Admin Dashboard Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Admin Dashboard/Add Book/Update Book frontend pages and the Books Admin backend API. Ensure admin book CRUD operations (add, edit, delete) work correctly, image uploads are handled and book cover images display properly, admin role guards are enforced both in Spring Security and React route guards, and inventory changes reflect immediately on public book listings. Note: depends on task a74d2430 (Admin Dashboard & Book Management) and task f0bbcec8 (Books API & Image Upload).

AI 60%
Human 40%
High Priority
0.5 days
Tech Lead
#19

Integrate React Setup & Auth

To Do

As a Tech Lead, verify that the React project setup (Axios interceptors, JWT injection, route guards) integrates correctly with the Spring Boot backend. Ensure the baseURL resolves correctly in all environments, Authorization headers are injected on every protected API call, 401 responses trigger redirect to login, and all defined React Router routes load without errors. Note: depends on task 8a33b05c (React Project Setup & Routing) and task d1e28870 (Backend Auth & Security Setup).

AI 55%
Human 45%
High Priority
0.5 days
Tech Lead
#2

User Entity & Registration API

To Do

As a Backend Developer, create the User entity (id, name, email, password, role), UserRepository, UserService, and UserController. Expose REST endpoints for user registration and profile retrieval. Use Spring Data JPA with MySQL. Package: com.bookstore.entity, com.bookstore.repository, com.bookstore.service, com.bookstore.controller, com.bookstore.dto.

Depends on:#1
Waiting for dependencies
AI 70%
Human 30%
High Priority
1.5 days
Backend Developer
#3

Books API & Image Upload

To Do

As a Backend Developer, create the Book entity (id, title, author, description, price, quantity, category, imageUrl), BookRepository, BookService, and BookController. Expose REST endpoints: GET /api/books, GET /api/books/{id}, GET /api/books/category/{category}, GET /api/books/search?title=, POST /api/admin/books, PUT /api/admin/books/{id}, DELETE /api/admin/books/{id}. Implement book cover image upload: store images in backend uploads/books/ folder, save relative path in imageUrl DB field. Seed sample book data across categories: Fiction, Technology, Programming, Business, Science, History.

Depends on:#1
Waiting for dependencies
AI 65%
Human 35%
High Priority
2.5 days
Backend Developer
#6

Global Exception & DTO Layer

To Do

As a Backend Developer, implement a global exception handler (com.bookstore.exception) using @ControllerAdvice for consistent error responses (404, 400, 401, 403, 500). Create DTO classes (com.bookstore.dto) for request/response objects: UserDTO, BookDTO, CartDTO, OrderDTO, AuthRequest, AuthResponse. Ensures clean API contracts and proper error messaging to the frontend.

Depends on:#1
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
1 day
Backend Developer
#9

Login & Register Pages

To Do

As a Frontend Developer, build the Login Page and Register Page with responsive forms. Login form: email + password, submit to POST /api/auth/login, store JWT in localStorage, redirect to home. Register form: name + email + password, submit to POST /api/auth/register. Show form validation errors. Add Navbar with cart icon and user account menu. Implement protected route logic to guard cart, checkout, order history, and admin pages. Note: depends on task_backend_auth and task_backend_user for backend APIs.

Depends on:#8
Waiting for dependencies
AI 65%
Human 35%
High Priority
1.5 days
Frontend Developer
#10

Home, Book List & Details Pages

To Do

As a Frontend Developer, build the Home Page (hero banner, featured books), Book List Page (grid of book cards with search by title and filter by category), and Book Detail Page (full book info with add-to-cart button). Use GET /api/books, GET /api/books/search?title=, GET /api/books/category/{category}, GET /api/books/{id}. Display book cover images from backend uploads. Modern responsive book card UI with CSS. Note: depends on task_backend_books for backend APIs.

Depends on:#8
Waiting for dependencies
AI 65%
Human 35%
High Priority
2 days
Frontend Developer
#11

Cart Page UI

To Do

As a Frontend Developer, build the Cart Page showing all items in the user's cart with book image, title, price, quantity controls (increment/decrement/remove), and total price calculation. Use GET /api/cart, PUT /api/cart/{id}, DELETE /api/cart/{id}. Show cart item count on Navbar cart icon. Provide 'Proceed to Checkout' button. Handle empty cart state. Note: depends on task_backend_cart for backend APIs.

Depends on:#8
Waiting for dependencies
AI 65%
Human 35%
High Priority
1.5 days
Frontend Developer
#12

Checkout & Order History Pages

To Do

As a Frontend Developer, build the Checkout Page (order summary, confirm & place order via POST /api/orders) and Order History Page (list past orders with status via GET /api/orders). Show order date, total, status badge, and items. Include success confirmation after placing order. Handle JWT-protected route redirects. Note: depends on task_backend_orders for backend APIs.

Depends on:#8
Waiting for dependencies
AI 65%
Human 35%
High Priority
1.5 days
Frontend Developer
#13

Admin Dashboard & Book Management

To Do

As a Frontend Developer, build the Admin Dashboard (overview of books and inventory), Add Book Page (form: title, author, description, price, quantity, category, image upload), and Update Book Page (pre-filled edit form). Use POST /api/admin/books, GET /api/admin/books, PUT /api/admin/books/{id}, DELETE /api/admin/books/{id}. Include image file input for cover upload. Guard pages: ADMIN role only. Note: depends on task_backend_books for backend APIs.

Depends on:#8
Waiting for dependencies
AI 65%
Human 35%
High Priority
2 days
Frontend Developer
#4

Shopping Cart API

To Do

As a Backend Developer, create the Cart entity (id, user, book, quantity), CartRepository, CartService, and CartController. Expose REST endpoints: GET /api/cart (get user's cart), POST /api/cart (add item), PUT /api/cart/{id} (update quantity), DELETE /api/cart/{id} (remove item). Protect all cart endpoints with JWT – USER role only.

Depends on:#2#3
Waiting for dependencies
AI 65%
Human 35%
High Priority
1.5 days
Backend Developer
#14

Integrate Auth Frontend & Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Login/Register frontend implementation and the Auth backend API (JWT). Ensure JWT is correctly returned on login, stored in localStorage, attached to subsequent Axios requests via Authorization header, and protected routes properly redirect unauthenticated users. Verify role-based access (USER vs ADMIN) is enforced both in backend Spring Security and frontend route guards.

Depends on:#1#2#9
Waiting for dependencies
AI 50%
Human 50%
High Priority
0.5 days
Tech Lead
#15

Integrate Books Frontend & Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Book List/Details/Home frontend pages and the Books backend API. Ensure book data loads correctly, search and category filter APIs return correct results, book images load from the backend uploads folder, and add-to-cart interactions work from the Book Detail page. Confirm admin book CRUD operations reflect immediately on the public book listing.

Depends on:#10#13#3
Waiting for dependencies
AI 50%
Human 50%
High Priority
0.5 days
Tech Lead
#5

Orders API & History

To Do

As a Backend Developer, create the Order entity (id, user, totalAmount, orderDate, status), OrderRepository, OrderService, and OrderController. Expose REST endpoints: POST /api/orders (place order, clear cart after success), GET /api/orders (get current user's order history). Protect endpoints with JWT – USER role. Include order status values: PENDING, CONFIRMED, SHIPPED, DELIVERED.

Depends on:#4
Waiting for dependencies
AI 65%
Human 35%
High Priority
1.5 days
Backend Developer
#16

Integrate Cart Frontend & Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Cart frontend page and the Shopping Cart backend API. Ensure items are correctly added from Book Detail page, quantity updates and removals persist to backend, total price is accurately calculated, and the Navbar cart icon count reflects the real cart state. Confirm JWT authentication is required and unauthorized access is handled gracefully.

Depends on:#4#11
Waiting for dependencies
AI 50%
Human 50%
High Priority
0.5 days
Tech Lead
#17

Integrate Orders Frontend & Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Checkout/Order History frontend pages and the Orders backend API. Ensure the checkout page correctly submits cart contents as an order, cart is cleared post-order, order confirmation is displayed, and Order History page accurately lists all past orders with correct statuses. Confirm all order endpoints require JWT authentication.

Depends on:#12#5
Waiting for dependencies
AI 50%
Human 50%
High Priority
0.5 days
Tech Lead
Home design preview
Login: Sign In
AdminDashboard: View Overview
BookList: View All Books
AddBook: Add New Book
UpdateBook: Edit Book
BookList: Delete Book
AddBook: Upload Image
AdminDashboard: Manage Stock
OrderHistory: View Orders