Add installation guide

This commit is contained in:
Sirin Puenggun 2023-11-19 15:27:01 +07:00 committed by GitHub
parent 7053a03807
commit af22b1f55c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

117
README.md
View File

@ -13,7 +13,122 @@ This inventory management system focuses on wholesale business where it needs to
## Installation ## Installation
To be added Here are the overview of steps to install and run this project.
1. Install `Python`
2. Install `PostgreSQL` via `docker` or `installer`
3. Create virutal environment then install requirements
4. Migrate database, load fixture, and run server
### Install Python and PostgreSQL
#### Install python
1. Download python installer and follow the guide in [Python website](https://www.python.org/downloads/)
2. Check python installation
```
python --version
```
#### Install PostgreSQL via docker
0. First of all [download and install docker desktop](https://docs.docker.com/desktop/) that contain docker engine, docker CLI, and etc.
1. Pull docker `postgres` Image
```bash
docker pull postgres
```
2. Create a Docker container for PostgreSQL. Adjust these variable in the command below
- `YOUR_CONTAINER_NAME`
- `YOUR_POSTGRE_USERNAME`
- `YOUR_POSTGRE_PASSWORD`
```bash
docker run --name YOUR_CONTAINER_NAME -e POSTGRES_USER=YOUR_POSTGRE_USERNAME -e POSTGRES_PASSWORD=YOUR_POSTGRE_PASSWORD -p 5432:5432 -d postgres
```
3. Wait for the container to start. You can check the logs with
```bash
docker logs YOUR_CONTAINER_NAME
```
> Extra: you can download pgadmin4 via docker which is a tool for manage postgres database. [Click here For more information](https://www.pgadmin.org/download/pgadmin-4-container/)
Host: `localhost`
Port: `5432` (or the port you specified)
Database: `postgres`
Database User: `YOUR_POSTGRE_USERNAME`
Password: `YOUR_POSTGRE_PASSWORD`
#### Install PostgreSQL via Installer
We recommend to [install postgres](https://www.postgresql.org/download/) with [pgadmin4](https://www.pgadmin.org/download/)
After install `postgres` and `pgadmin4` you must
1. Create new database.
2. Specify username, password and host as you desired.
Usually Host name will be `localhost` , port will be `5432`, and default postgres database user is `postgres`
#### Clone this repository and Create virtual environment with `venv` or `virtualenv`.
1. Clone this repository
```bash
git clone https://github.com/Sosokker/Inventory-Management-System
cd Inventory-Management-System
```
2. Create virtual environment and use it to install require packages
```bash
python -m venv venv
```
(Optional: You can use venv instead)Install virtualenv via pip
```bash
python -m pip install --user virtualenv
python -m virtualenv venv
```
```bash
# Access virtual environment using
# Windows
.\venv\Scripts\activate
# Linux or MacOS
source venv/bin/activate
```
3. Install require module.
```
pip install -r requirements.txt
```
#### Setup Django
1. Create file `.env` to provide environment varible for Django
**You can look at `sample.env` for more information and others environment variables to set.**
```bash
SECRET_KEY=your_secret_key
DEBUG=True # Set False on production
ALLOWED_HOSTS=localhost, 127.0.0.1, ::1
DB_NAME=YOUR_DATABASENAME # ex: postgres
DB_USER=YOUR_POSTGRE_USERNAME
DB_PASSWORD=YOUR_POSTGRE_PASSWORD
DB_HOST=YOUR_DB_HOST # ex: localhost
DB_PORT=your_DB_PORT # ex: 5432
```
Generate` Secret key` from [Djecrety](https://djecrety.ir/)
**Don't forget to change `your_secret_key` to your secret key (without quote)**
2. Migrate database then runserver
```bash
python manage.py migrate
python manage.py runserver
```
You can now access webpage via [http://127.0.0.1:8000/](http://127.0.0.1:8000/)
or you can change port by
```bash
python manage.py runserver <PORT>
```
## Resource ## Resource