Git Product home page Git Product logo

bookmark's Introduction

Bookmark

live

The “FullStack Army” a learning platform of programming under the monitoring of the best promising programmer in BD Mr. H M Nayem. As a student we were selected for building an E-commerce web application. We chose our product as a “book” and named it as “BOOKMARK”. This application is fully made of modern technology in running trends of the IT industry. Bookmark is a modern looking e-commerce application where buyers and visitors have a lot more interaction. We tried to make the project with a lot of features and ongoing events unlike a traditional e-commerce has. We tried to explore every portion of technology regarding requirement issues and emphasized each detail like a professional approach.

Planning part:

First we planned how an e-commerce web application was structured and its merits of events and interaction to justify the user experience. For that we explore some real world e-commerce like ROKOMARI and other applications and see the interaction of users then try to list the sections that need to be scrutinized. After selecting an application site we mixed our thoughts to build the site as modern trendy. We listed the UI and layout of the project regarding our requirements. We also took a styled framework Material UI so that it could look glossy.

Making of UI

  • Component tree: First we drew the component tree of the web site. According to the planning part it will make a perfect way to find out the UI level so that it will show the overall outlooking and the components how interrelated. Finding the reusable components and important components our planned made easy to express the data in our site.
  • Wireframe: We use the wireframe to design our interface how it looks, with some pages and components. From the component tree our design made easy deciding the features of our product.
  • For database anyalysis ER diagram

Requirement Analysis

  • All Features or functional requirements
  • Auth
  • Login
  • Register
  • Logout
  • Product
  • Cart (Relation)
  • Add to cart
  • Decrease the product count
  • Increase the product count
  • Remove from cart
  • Checkout
  • Wishlist add and remove
  • Rating
  • Categories
  • Reviews
  • Profile
  • Edit profile info
  • Change password
  • Wishlist
  • Order History
  • Order Track
  • Dark Mode
  • Related Product view
  • Product filter with (subjects, author, publisher)
  • Product Search / topic-wise search (books, author, publisher)
  • Hero section, book overview, and category sliders
  • infinite scroll
  • User orders in the admin bar
  • Data Loading Skeleton
  • Popular product display
  • Product variation
  • PWA
  • PDF downloadable (upcomming..)

Technologies we are choosing

  • Next Js (frontend)
  • Styled Component + MUI (styling)
  • RTK query (managing server state)
  • Strapi (CMS for backend)
  • PostgreSQL (Database)
  • REST API
  • Strapi Auth
  • Stripe (payment)

Functional requirements:

Base Project Requirement -You have to create an Ecommerce application containing the following features,

  • User authentication
  • Product Catalog
  • Product Variant
  • Product Categories
  • Search Products
  • Filter Products by Properties
  • Pagination & Sorting Order History
  • Payment Gateway Integration (Fake or Real)
  • Admin using Strapi or any relative CMS

Non Functional Requirements:

  • The backend should be made with Strapi
  • Front end Store found type individual product item.
  • Users can log in
  • User can Register
  • Users can see products
  • Users can see product details
  • Users can select categories
  • Users can Add a shopping cart
  • Users can checkout cart products
  • Payment Integration will be a fake payment/ stripe
  • When ordering is complete can be tracked
  • If the admin behind the seen order succeeded then the user can see their dashboard order completed and place the order history.
  • No Shipment
  • Technologies that Mandatory
  • The backend made with Strapi
  • The project must be Next Js file structure
  • SEO ranking up to 90 in the lighthouse
  • The project must be made with Styled component
  • We have to select a theme from the theme forest or other platforms
  • Ui component must be reusable and make documentation with storybook
  • The framework can choose anything but the code should be the right way.
  • API layer must be in the service layer
  • We can choose a store management system anything but everything must be logical way.
  • The project must be well folder structured, with no duplicate codes, and well-designed code
  • It will be good if we work with react query but it is not forced just insists.
  • We must use Axios
  • For Authentication, we have to use Strapi auth.
  • Ui must be beautiful
  • Individual case study and write a final article about
  • What are we doing every day?
  • Which problem we are facing
  • How to handle things with teamwork

Pages, Sections, and Features:

Home

  • Header Section ( where user can navigate pages, search products, and change themes and languages)
  • The cover page hero section (Where special offer products will be sliding) New Product Section (Where users can see recently added products based on date)
  • Offers Section/Product collection category section (Where users can see many collections or product categories)
  • Featured Products
  • Shop
  • Filter Bar (where users can filter products with price, Date, Subjects, Writers, Publishers, Ratting
  • All product lists gallery with pagination (where users can see all existing products and pagination numbers)

Login

  • users can log in by email password forgot password (upcomming..)
  • Register
  • user name or email, password

Cart

  • Users can see carted products, quantities, prices, total prices, and subtotal price
  • Users can increase and decrease product quantities
  • Users can remove products from the cart
  • Users also can checkout

Profile

  • Users can see and edit their profile info like avatar, name, email
  • Users can see their order history with date and product info
  • User can see their review item products
  • Favorite or Wish list
  • users can see wish list products with details and remove them

Product Detail

  • Image Gallery
  • price
  • title
  • description
  • additional information
  • Related products
  • Checkout

Payment

  • A payment system will be added with a stripe
  • Contact

Deployment:

  • frontend: https://bookmark-bd.fly.dev/ (UI inspired from pickBazar)
  • api: https://bookmark-backend.fly.dev/api

project members:

  • Mr Jahid Hasan - Team lead
  • Mr Fahim Faisal- Fullstack-developer
  • Mr Rezuan Ahmed - Frontend-developer
  • Mr Mazharul Islam - Frontend-developer
  • Mr Mirajul Islam - Frontend-developer
  • Mr Md Abu Hossain Content writer

bookmark's People

Contributors

fahimfaisaal avatar jahid-bd avatar mdabu-hossain avatar mohammad-a-hossain avatar mohammed-mirajul avatar nahidnstu12 avatar rezuan-ahmed-git avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

bookmark's Issues

Include database UML design

Add a UML diagram based on the given requirements. show the relationship between all models. like:

  1. one 2 one
  2. one 2 many
  3. many 2 many

create this UML by drawio

Start making reusable components

  • Go to our notion page and see the UI UX page then go Updated UI page
  • From Updated Ui page you will find all reusable component list with pic
  • Start making them with our customize mui theme and mui styled component

Use yarn instead of npm

we will use the yarn package manager to handle all package-related stuff. for this reason, we have to remove package-lock.json from our existing project & have to include yarn.lock file by installing all packages via yarn

Create Layout

  • Make layout with header and footer
  • Make mobile responsive
  • Apply all slider menu

Post data from strapi admin panel

  • when our strapi app will be connected with postgre db
  • first clone init/strapi-app repo then install all dependance
  • research about how to generate fake data using fakerjs and post it dynamically into our db models

Include seed for single types

add all seed functions for single types to seed single types in dev env. after adding this feature have to reset the production database & re-seed the production database.

Create User Dashboard

  1. Create a menu inside the profile page to navigate between components.
  2. Create a Profile, change my password, my orders, and my wishlist components.
  3. Create a logout button.

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.