Coder Social home page Coder Social logo

gsg-k3 / bills-system-analysis Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 2.0 440 KB

build system pay all bill from one place and find the problems in bills and supplies utilities

JavaScript 93.79% HTML 0.46% CSS 0.30% PLpgSQL 5.45%
material-ui nodejs postgresql react react-hooks

bills-system-analysis's People

Contributors

bananhaj avatar duaah avatar hanan795 avatar kholoudfann avatar yakoobhammouri avatar

Watchers

 avatar

Forkers

duaah hanan795

bills-system-analysis's Issues

12- As a user if I’m logged in I can see another menu.

  • When the user logged in: it consists of five items: the first one called Home when the user click on it, he/she will be turned to Home page, the second one called Bills when the user click on it he/she will be turned to Bill page, the third one called Profile when the user click on it he/she will be turned to Profile page, the forth one called Add new Bill when the user click on it he/she will be turned to Add new Bill page and the last one called Log out when the user click on it he/she will be logged out from the website and returned to landing page.

Setup Project

Front-end

  • React project must be in folder name client

  • set up React ( npx create-react-app my-app)

  • install Packages

  • install Npm packages as Dependencies

    • @date-io/date-fns
    • @material-ui/core
    • @material-ui/icons
    • @material-ui/lab
    • @material-ui/pickers
    • @testing-library/jest-dom
    • @testing-library/react
    • @testing-library/user-event
    • axios
    • date-fns
    • js-cookie
    • react-swipeable-views
    • xregexp
    • sweetalert
    • react-dom
    • react-router-dom
    • @hapi/joi

11- As a user I can add new bill.

User can add new bill by typing it's amount in Total amount text field, choose Bill date, Due date, From and To using calendar. In addition to that he/she can type subscription number in it's filed, finally he can submit that by clicking Add button.

query to get Bill

  • Query to get last 5 bills by default, or get a bill by Date that has been entered by the user

Menu Component

Must contain these items:

  • Logo
  • Home
  • Bills
  • Profile
  • Add new Bill
  • Log out

6-As a user I can see the bills for the type I chose

In Bill info Tab in Bill Page see Expansion Panel contains last 3 bill by default , and user can choose the Date , to get any bill want in any date , and Bill Panel contains brief info about bill , and most important info is statistics , if user click statistics link the App open Statistic page

Endpoints

Front-end

  • Landing Page: /

  • Login Page: /login

  • Signup Page: /signup

  • Home Page: /home

  • Bills Page: /bill/:bill_type 

  • Statistics Page: /bill/:bill_type/statistics/:billId

  • Contact Page: /bill/:bill_type/contact

  • Profile Page: /profile

  • Add new bill Page: /new-bill

  • Logout: /logout

Process Guide

Issues #2

  • when you add a new issue

write a good description
add the issue to the project
add it to the milestone
and add suitable labels.

  • when you start working on the issue assign yourself on it.

Add new bill component

Must contain:

  • Menu2 component
  • Total amount
  • Bill Date
  • Due Date
  • Date from
  • Date To
  • subscription number
  • Add Button
  • Add new bill page

Add new bill page (1)

Issue Rules

Front-End issues

  • Route

  • Description

  • User Interface

  • Add label front-end

Add label component If the issue is about a component and if its a common component add label common-component

Travis CI

Deploying the project on Travis CI.

README.md

Must contain:

  • Heroku link

  • Figma link

  • Problem

  • User Journey

  • User Story

  • Database Schema

  • How to run the project locally?

  • Used Technologies

  • Team members

2-As a user I can enter the login page.

  • in a login page, you can enter into the app by writing your email and password, or you can log in with google.
  • if you do not have an account you can sign up.

Signup Page

Must contain:

  • Menu1 Component
  • Text fields
  • Buttons

10- As a user I can choose the profile from the menu and see the profile page.

At this page the user can enter his/her name and mobile number by typing it in it's text field, and choose his/her status, Number of individuals and location using it's drop-down boxes, also he can choose number of his/her devises by click on one of the check boxes. Finally user submit the form by clicking on the button.

Login Page

Must contain:

  • Menu1 Component
  • Text fields
  • Buttons

profile component

Must contain:

  • Menu2 component
  • Display Name
  • Mobile number
  • status
  • number of indivisulas
  • location
  • number of devices
  • Submit Button

pesonal information

Create Database Query

  • Landing page: no query needed

  • Sign up

    • type: post
    • description: query to insert new user in DB
  • Login

    • type: post
    • description: query to check user in DB
  • Home

    • type: get
    • description: query to get all types of Bills for the current user
  • Bill Page

    • type: get

    • description: query to get last 3 bills by default, or get a bill by Date that has been entered by the user

    • type: get

    • description: query to get the Contact for bill provider

  • Statistics

    • type: get
    • description: query to get current bill info and bill info of neighbors who registered in the app depending on common
      factors Like location , number of devices and individuals
  • Add new bill page

    • type: get

    • description: query to get prodivers types and providers themselves

    • type: post

    • description : query to Insert the new Bill in DB

  • pesonal information

    • type: get

    • description: get personal info of current user

    • type : patch

    • description: query to update the user profile

Home Page

Must contain:

  • Menu2 Component
  • Title
  • Bill Type Card

Create DataBase

  • Create sql File
  • Create a connection string
  • Create build.js file

9- As a user I can see the menu.

  • When the user doesn't login: it consists of three items: the first one called Home when the user click on it, he/she will turned to landing page, the second one called Login when the user click on it he/she will be turned to login page and the last one called Signup when the user click on it he/she will be turned to signup page.

User Testing

Test the Figma on the users to find the problem

1-As a user I can see the landing page.

  • when I enter the app, the first page that I can see it is a landing page.
    • The landing page displays the goal of the app.
    • its contain a button that returns us to login page

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.