Inventory System
Inventory system to keep track of inventory and supply!
Explore the docs »
Report Bug · Request Feature
Table of Contents
About The Project
Inventory system created to track your inventory and supply,
To get started go to Getting started. For more inforamtion about the usage go to Usage, if your intrested what the project is built with go to Usage
prior knowledge:
- For better understanding of this project you should have a decent experiance using PHP as well as MySQL.
- For better understanding of the hosting type and serving this project you should have decent expierance in nginx or apache or really any other type of web server
- For more information about forking this project go to Fork
- For more information about contributing go to Contributing
What the project is served on?
For the hosting of this project you can use, for example (MAMP, XAMMP) or any other type of web server for more inforamtion about what we used for the hosting and serving this project go to Usage
Use the README.md
to get started.
Built With
This project was built using these technologies. Feels free to add any or change any of these technilogies below to suit your usage like frameworks for front-end as well as back-end.
For more information about Usage or Getting started.
Getting Started
- Setting up the project with Docker.
Prerequisites
For this project Docker
can be used for simplifying the installation. Here you can find the Dockerized files from DockerHub
1. Docker pull IMAGE
$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]
2. docker check for IMAGES
$ docker images
3. docker running the app in a container
$ docker run --name CONTAINER_NAME -p PORT:PORT APP_NAME
- If you want to check what containers are running, use the command below
$ docker ps
Installation
-
For this Project MacOS is used so every step from here on out will be directed to the MacOS users. For installation on any other devices then unix refer to the instructions above.
-
MacOS
1. Install homebrew from homebrew
2. Install all necessary programs using brew (Incase you cant run brew as a normal user use
sudo
)$ brew install php
$ brew install mysql
$ brew install telnet
$ brew install nginx
-
Nginx Configuration
3. On MacOS with a Silicon Proccesor all of your config files will be found in
/opt/homebrew/etc/
else for normal MacOS with Intel Proccesor you will find your config files in/usr/local/etc/
.Inside this directory navigate to a folder called
nginx
, and open thenginx.conf
file with a editor of your choice.4. Nginx.conf file In the
nginx.conf
file change the following configuration to the following.listen YOUR_PORT; server_name YOUR_SERVERNAME;
In the
Location /
block change the defaultroot
to your location and in the Index add the following as shown below.root /Users/erwinkujawski/Desktop/Inv; index index.html index.htm index.php; location / { autoindex on; try_files $uri $uri/ /index.php?$args; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; }
In the default config the
.\$php
will be commented uncomment and change it to the following.
Note: The default IP for hosting localy is127.0.0.1
.location ~ \.php$ { fastcgi_pass SERVER_IP:PORT; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
-
MySQL Configuration
5. On MacOS with Silicon Proccesor all of you MySQL config files will be found in
/opt/homebrew/etc/
else for normal MacOS with Intel Proccesor you will find you config files in/usr/local/etc/
.6. Inside this direcotry navigate to a folder called
/etc/
which can be found in the step above. In themy.conf
file change the following configuration to the following.Note: The default IP for hosting localy is
127.0.0.1
[mysqld] bind-address = SERVER_IP mysqlx-bind-address = SERVER_IP socket = /tmp/mysql.sock character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci character-set-client-handshake = false
7. Next step is to login to the database as root. in the terminal type in the following command. after typing in this command the terminal will prompt you with a message to type in your password and sicnce this is a newly created MySQL Database the password will be empty so dont type in anything simply press
Enter
and procced to the next step.mysql -u root -p
8. If for some reason step
7.
didn't work and you got anError
that says something likeAccess denied for user 'root@localhost' (using password: NO)
try using the same command and simply type in the password asroot
some times MySQL sets the password asroot
for default. Else if you everything worked out you should see something like this.If you see this prompt with MySQL in you terminal that means your now connected as the database.
Note: To display all of the existing databases type in the followingquery
as shown below.SHOW DATABASES;
9. Creating the database. type in the following
query
as shown below to create a database.CREATE DATABASE database_name;
After inserting this
query
use the followingquery
to see if the database was created.SHOW DATABASES;
10. Inserting the database. type in the following
query
in the mysql terminal.mysql database_name < db.sql;
-
PHP Configuration (Optional)
11. On MacOS with Silicon Proccesor all of you PHP config files will be found in
/opt/homebrew/etc/
else for normal MacOS with Intel Proccesor you will find you config files in/usr/local/etc/
.Inside this directory navigate to a folder called
php
, and it's optional you dont need to edit anything in that file for the application to work.If u want to see all of the users use the command below in the
/opt/homebrew/etc/
.ls -l /usr/local/etc/php
-
Telnet Usage
12 In order to check the server connection you have to have telnet install which you should have if u followed all the steps, what telnet dose it allows you to see and connect to the
server
/localhost
and see if everything is running smoothly and you can do that by entering the following command below.Note: The default IP for your localhost server is going to be
127.0.0.1
and the port are going to be the one configured for nginxtelnet 127.0.0.1 PORT
Linux
-
Comming soon...
Usage
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
-
The main pupose of this project is to create an app to keep track of inventory and supply. For example how many pens you have to how many chairs you have, it can be uses for any possible scenario of keeping track of supply & inventory. Purpose
-
How to use
-
Creating Item
After creating an account you simply log in and in the dashboard menu you should see a
+ Add Items
button you can interact with it but simply clicking it, you should see a popup window where you can type in your item information and submit it to the database which is display directly on the dashboard. -
Editing Item
After adding an item to the database you have the option to edit it simply by pressing the
edit
button which can be seen on theitem
displayed on the dashboard database. After clicking theedit
button it will redirect you to theedit
page where you can change the information of the item and simply submit it to the datbase which will automaticlly update after the submition of the newitem
information. -
Exporting Database
If you would like to export the database as an execl spreedsheet or csv file you can simply do it by pressing the
export
button on the top navigation bar. And the whole database will be saved to your computer as a csv file which then can be used for excel
-
For more examples, please refer to the Documentation
Roadmap
- Add Changelog
- Add More Features
- Add Additional Documentation Page
- Add Proper Admin Page
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Owner - xdaTq
Project Link: https://github.com/xdaTq/InventorySystem
Acknowledgments
Here is a list of all the resources we used for this project including best sources for any further help.
For any further development help go to Issues