Git Product home page Git Product logo

tarboz's Introduction


Tarboz =+=+=+=+=+=+=+=

PRJ666

tarboz's People

Contributors

hzahoori avatar igoryen avatar lilyfan avatar okevin0 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

lilyfan kevin000

tarboz's Issues

You guys can work now!!

Hi Guys,
Please carry onn with your classes, I did fix everything it should work perfect now.

Header: change the top bar

I think it would be good if our header was like the top bar in Github.
I need help with CSS to do that.

Reorganize the directory tree

Replace:

├───classes
│   ├───BusinessLogicTier
│   │   ├───Entry
│   │   │       Entry.php
│   │   │       EntryAuthor.php
│   │   │       EntryController.php
│   │   │       EntryDetails.php
│   │   │       EntrySource.php
│   │   │
│   │   └───User
│   │           User.php
│   │           UserManager.php
│   │
│   └───DataAccessorsTier
│       │   constants.php
│       │   datainfo.php
│       │   DBHelper.php
│       │
│       └───User
│               UserDataAccessor.php
│

Capitalize HTML element class names

I suggest we make it a standard to capitalize the HTML elements' class names to distinguish them from id names.
<div class="Row_value">
vs
<div id="row_value">

Mixing MVC and 3 Tier Architecture

Hi Igor, I think we are mixing 3Tier and MVC together, because they are 2 different architectures.

  1. 3 Tier Architecture:
    Request always goes to presentation view, then it contacts the business Layer, then Business Layer Contacts the DataAccessor and the DataAccessor, will connect to database and return the stuff.

Request <-->Presentation Layer-->|BusinessLayer||-->||DataAccessLayer||-->||Database||

Example: http://erichuang.info/projects/cgt/wiki/images/4/46/SADD-three-tier-architecture.jpg

  1. Model View Controller:
    When any request is made, it first goes to Controller, then the Controller contacts Model.
    When received data from Model, it sends it to the View(which can be HTML,JSP,XML and etc)

    Request-->||Controller||<-->[Model]<-->[Database Data Retrieval]
    |
    Presentation View
    Example:
    http://symfony.com/legacy/images/jobeet/1_2/04/mvc.png

One `css` file for all pages, or one `css` for each page?

Is it a good thing that we have one huge file style.css? Maybe it's better to have a .css file for each page? But then there is a question of how to make the single header.php file reference a different .css file for each file that it (header.php) is included into.

Suggested workflow

I suggest the following work flow for tasks/issues/bugs:
It is very important to remember these:

  • don't do any work until you have done Step 1 (defined your bug), and don't do any work on your master branch.
  • Follow the steps in the exact order and remember which step you are taking when in each bug, because if you get distracted, you can forget which step you were at and it can result in a mess.

Step 1: Get your bug

1) Look at the list of issues assigned to you and take the bug that must be done

2) Read the description of the issue on Github's Bug Tracker (https://github.com/hzahoori/Tarboz/issues).

_OR, if no bug is assigned to you,_ think about what you want to work on, think of a name for this piece of work, create an issue here, and write something like "I am working on this bug. _Then_ start working on the issue. That way each team member will know what each one is doing and there will be no confusion or conflicts.


Step 2: Work on your bug

1) Create a branch on your local repo;

  • let the name of the branch be the name of the issue (for example, if the name of the issue is issue#12 then the name of the branch will also be issue#12 :)
git checkout -b issue#12

2) Work on the issue/bug
Open the file(s) in your favourite editor (Sublime Text rules!!!) and start making changes in the code.

ATTENTION!
Refrain from doing anything else in this step that is not part of the bug. For example, don't format anything or try to make things pretty by fixing indentation, spacing or whatever. If you want to fix formatting, that's a different issue. File it as an individual issue first. Every issue must be only about what you declared it to be about, not more or less. Git records every little white space you add or delete: if changes are huge, it will be very hard to review what was actually done in the bug.


Step 3: Clean up your work

1) Review the changes you have made

git diff

2) Do a clean-up in your code so that the work you are submitting is as relevant as possible. That means removing any unnecessary changes you may have added like:

  • white space characters
  • line breaks
  • irrelevant indentations
  • any other changes which you may have added but that are not relevant to the bug.

REMEMBER: Git paints ALL the changes RED (if you delete things) and GREEN (if you add things), so make the reviewers' and your own life easier and make sure there are no irrelevant green and red stretches by making only relevant pinpoint changes in the code.


Step 4: Submit your work

1) Commit your work

git add .
git commit -m "issue#12 - I changed this and that"

2) Upload your local repo's branch issue#21 to _your_ remote repo on Github

git push origin issue#21
  • Note: your remote repo is _your_ remote copy (aka fork) of the main remote repo. For example, if the url of the _main_ remote repo is [email protected]:hzahoori/Tarboz.git then the url of _my_ remote repo is [email protected]:igoryen/Tarboz.git

3) Go to either _your_ or the _main_ remote repo at github.com and press the button Compare and pull request:

image

4) Leave a comment about the work you've done and press Create pull request:

  • Note:
    • Git compares branch master of the _main_ remote repo (hzahoori:master) with branch issue#89 of _my_ remote repo (igoryen:issue#89).
    • Git sees igoryen:issue#89 has new stuff added and asks me if I want to merge the new stuff in igoryen:issue#89 into hzahoori:master.

image


Step 5: Merge and deal with branches

1) Since you are _not_ a collaborator of the "main" repo, you can not do the merge yourself, so ask Igor to review your changes.
2) Copy the link to your pull request on Github and send it to Igor in a message on Facebook.
3) Unless Igor asks you to change something in your bug, wait to get a "+1" from him.


Step 6: Update your 2 repos (local and remote)

1) After your changes are merged, update your _local_ repo by downloading the new stuff from the main remote repo:

git checkout master
git pull main master

2) Update your _remote_ repo by uploading the new stuff from your local repo (which you have just updated by downloading new stuff from the main repo):

git push origin master

3) Delete your local branch:

  • display a list of the local branches you have created including your issue#21 branch
git branch
  • delete branch issue#21
git branch -d issue#21

Step 7: Close the issue

Go to the issues, find the one you took, type something like Done and paste in the issue's comment section the link to your commit that was just merged, and then click Close issue. This way others will know that the bug is out of the way.


Step 8: Take the next issue assigned to you

Now that you are back on your local master branch, you can start working on a new bug/task.

Add an .htaccess file

To to remove .php, .html, extensions.
Source: http://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/

A proposal for the project directory tree

We need a suitable directory tree to make it easier for us to work, track the changes and report the progress.
Idea: This (see the structure below) is one way I can see we could do this:

  • Controllers/ would be files that we would redirect to.
  • Models/ are like files with library of functions

Idea: Maybe subfolders for each function in Models/is too much detail, so maybe it would be enough to just have Models/Account.php, Models/User.php and so on?

├───Content
│       abc.css
│
├───Controllers
│   ├───Account
│   │       Create.php
│   │       Delete.php
│   │       Details.php
│   │       Edit.php
│   │       Index.php
│   │
│   ├───Comment
│   │       Create.php
│   │       Delete.php
│   │       Details.php
│   │       Edit.php
│   │       Index.php
│   │
│   ├───Entry
│   │       Create.php
│   │       Delete.php
│   │       Details.php
│   │       Edit.php
│   │       Index.php
│   │
│   └───User
│           Create.php
│           Delete.php
│           Details.php
│           Edit.php
│           Index.php
│
└───Models
    ├───Account
    │       Create.php
    │       Delete.php
    │       Details.php
    │       Edit.php
    │       Index.php
    │
    ├───Comment
    │       Create.php
    │       Delete.php
    │       Details.php
    │       Edit.php
    │       Index.php
    │
    ├───Entry
    │       Create.php
    │       Delete.php
    │       Details.php
    │       Edit.php
    │       Index.php
    │
    └───User
            Create.php
            Delete.php
            Details.php
            Edit.php
            Index.php

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.