Index by title

Code

RPInventory is written entirely in PHP using MySQL as the database back end.

To separate business logic from presentation logic, we use the Smarty Template Engine. This engine allows us to create "template" files that describe the layout of each page separate from the PHP files that retrieve the data.

RPInventory also uses the Prototype and jQuery JavaScript frameworks/libraries for dynamic content (AJAX)

Our code is version-controlled by git. To get a copy of our source, first install git. Then clone from our git repository with:
git clone git://rpinventory.com/rpinventory.git

Coding Standard


Get Involved

As a small project, we're just starting out and growing slowly. We're very open to any ideas or suggestions that anyone may have for this project. Our ultimate goal is to provide a better inventory system for organizations, so knowing what works well, and what doesn't is the most important thing. Feel free to contact our developers through the mailing list to forward any suggestions or concerns.

If you would like to help with our project, again, send us a message. Currently, the project is extremely open-ended with only the end goal being better usability. If you have ideas of additions to the project, we'd be happy to help you implement them, but if you just have a desire to contribute, we'd be more than happy to suggest a feature that corresponds to your amount of experience.

For more information about contributions, please check out this page.

Crash Course in Git

Getting the code

For an anonymous checkout of our repository, use the following command:
git clone git://rpinventory.com/rpinventory.git

If you have commit access, you will be given the correct command to use when receiving access.

Updating to the latest version

To update your local repository with changes by other project members, use
git pull origin

Making changes

Work on any changes you wish to do locally. If you create a new file, add it to be tracked by git with
git add [filename]

View changes before committing (optional)

To see exactly what will change before making a commit, use
git diff

This will show you a diff of all changes since the last commit.

Committing changes locally

When you are ready to commit your changes, issue
git commit -a
This will automatically add any modified files to your commit. Alternatively, you can specify individual files you wish to commit:
git commit [filename]

In either case, your default editor will open, allowing you to write a commit message. You will also be shown the files that will change during this commit. "Save" the commit message using your editor's save command. This will then create a local commit.

Pushing changes to server

Continue working and committing locally until you are ready to have your changes accessible to other project members. To push any new local commits to the central repository, use
git push origin master

This will take all commits from your master branch and push them to the remote (origin) branch. While attempting to do this, you may find that the server rejects you. This most likely means someone else has pushed changes to the central repository since you last pulled changes. This means you will need to pull the latest changes before pushing your own.
git pull origin
git push origin master

Goals

This page contains a list of future goals and ideas for the RPInventory project.

This is a general list of ideas, not a specific list features to add. See the To Do page for a list of coding tasks.

Completed:

Not Completed:


Members

Active Members

Inactive Members


Milestones

This page contains a list of planned future releases along with the major changes expected.

Beta 1:

Beta 2:


Presentation Materials

Here you can find slides from our presentations to the RCOS research group, arranged by semester.


Presentation Materials Fall 2009

Here are presentation slides from the Fall 2009 semester.


Presentation Materials Spring 2009

Materials used in presentations for the Rensselaer Center for Open Source Software.


Presentation Materials Spring 2010

A collection of the presentation given at the weekly RCOS meetings.


RPInventory

RPInventory is an opensource project under the GPLv3. PHP and MySQL have been used to implement the basic structure. If you wish to join us in our endeavor please send an email to our mailing list rpinventory@rpinventory.com.

The goal of the project is to provide an inventory management system for RPI club officers. Clubs with many items to keep track of are the target users. These clubs will be able to keep track of items, loans and businesses associated with items. Access to the database can be limited through three privilege levels. The web based system is accessible through a browser so that multiple people can update the database.

About

Code

Community


Setup Instructions

Apache

Install Apache 2.2

PHP

Download and install the latest PHP (5.2)

Install the following extensions:

Smarty

Install Smarty

It is recommended to install smarty OUTSIDE of the www root folder. Keep track of where you install smarty. You will need to fill this information into the config.php file.

MySQL

Install the MySQL community Server

Create the rpinventory database and user. Grant select, insert, update, and delete privileges.

PhpMyAdmin (Optional)

install PhpMyAdmin to setup/modify the mysql database

Install RPInventory


To Do

The following is a list of To-Do items for RPInventory ranked by priority. If you are a new contributor, select a small item from the low priority section to become familiar with the code.

High priority

Medium priority

Low priority