Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thoas/forj

Michel berard personal project
https://github.com/thoas/forj

Last synced: about 1 month ago
JSON representation

Michel berard personal project

Awesome Lists containing this project

README

        

# forj

![travis](https://travis-ci.org/thoas/forj.svg?branch=master)

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](https://brew.sh/)

```console
brew install python3 postgresql
```

Then run

```console
which python3
```

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

Postgresql must be started once installed

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

## Bootstrap

Install the virtualenv

```console
make setup-virtualenv
```

Source the virtualenv to install dependencies

```console
source .env/bin/activate
```

Install dependencies

```console
make dependencies
```

## Install the database

Then setup the database

```console
make setup-db
```

Setup project (models + initial fixtures + index)

```console
make bootstrap
```

## Run webserver

Launch webserver

```console
make run-server
```

Remember to always source the virtualenv before launching the webserver.

open [http://www.local.forj.shop:8181/](http://www.local.forj.shop:8181/) on your browser.

## Manage static dependencies

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

```console
npm install
```

Build dependencies

```console
npm run watch
```

Static files are located in [src/forj/static/src](https://github.com/thoas/forj/tree/master/src/forj/static/site/src)
and templates files are located in [src/forj/templates](https://github.com/thoas/forj/tree/master/src/forj/templates).

## TODO

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