Skip to content

thoas/forj

Repository files navigation

forj

travis

forj is the personal project of Michel Berard.

Installation

Hosts

Add this lines in your /etc/hosts

127.0.0.1       www.local.forj.shop
127.0.0.1       admin.local.forj.shop

Requirements

You must install:

  • Python 3
  • Postgresql

On macOS, install homebrew

brew install python3 postgresql

Then run

which python3

which must result to /usr/local/bin/python3

Postgresql must be started once installed

pg_ctl -D /usr/local/var/postgres start

Bootstrap

Install the virtualenv

make setup-virtualenv

Source the virtualenv to install dependencies

source .env/bin/activate

Install dependencies

make dependencies

Install the database

Then setup the database

make setup-db

Setup project (models + initial fixtures + index)

make bootstrap

Run webserver

Launch webserver

make run-server

Remember to always source the virtualenv before launching the webserver.

open http://www.local.forj.shop:8181/ on your browser.

Manage static dependencies

Install npm dependencies, we use node.js 8.9.x

npm install

Build dependencies

npm run watch

Static files are located in src/forj/static/src and templates files are located in src/forj/templates.

TODO

  • Data models
    • Order
    • Product
    • Address
    • OrderItem
    • User
    • Homepage content
  • Orders admin
  • Products admin
  • Users admin
  • Criteria engine for static reference
  • Retrieve product in database from criteria
  • Cart engine
  • Order generation from Cart
  • Formula engine for > 1m2
    • Static with range
    • Dynamic with formula based on criterion
    • Tax cost per product
  • Cart view
  • Checkout view
    • Order creation from Cart
    • User registration
    • Address registration
    • Remove billing address
  • Payment view
    • 3dsecure
  • Edit order when returning to cart
  • Done view
    • Invoice view
  • Success mail
  • FTP access for landing page
  • Remove delete button on order item admin
  • Internal field for Product (note)
  • Generate SSL certificat with letsencrypt