init
This commit is contained in:
parent
7428ff8b8f
commit
9b15ac9fd3
87 changed files with 4975 additions and 1 deletions
73
README.md
73
README.md
|
@ -1,2 +1,73 @@
|
|||
# ecomm-store
|
||||
# Ecomm Store
|
||||
|
||||
PHP MVC Ecomm App w/SqliteDB
|
||||
|
||||
## Goals for MVP
|
||||
|
||||
- Avoid using JavaScript - make it usable without
|
||||
- Multicurrency sats/cents
|
||||
- Store Credit
|
||||
- Products, carts, checkout, orders, returns/refunds.
|
||||
- Subscriptions/recurring payments
|
||||
- Email sign-in links, email notifications
|
||||
- Light/dark theme
|
||||
|
||||
## Initial setup/install
|
||||
|
||||
Copy the `.env.example` into `.env` and edit with your preferences/credentials.
|
||||
|
||||
`cp .env.example .env`
|
||||
|
||||
`vim .env`
|
||||
|
||||
install composer packages using the `composer.phar` executable included in this repo
|
||||
|
||||
`chmod +x composer.phar`
|
||||
|
||||
`php composer.phar install`
|
||||
|
||||
Use tailwind-cli to automatically generate `/public/style.css` from `/src/style.css`
|
||||
|
||||
This repo includes an older `tailwindcss` binary for Apple ARM M-series processors. I could not get recent versions to work properly.
|
||||
|
||||
`chmod +x tailwindcss`
|
||||
|
||||
`./tailwindcss -i ./src/style.css -o ./public/style.css --watch`
|
||||
|
||||
You should only use `--watch` in development.
|
||||
|
||||
Tailwind (JavaScript) only generates the CSS file used in prod. We're still "avoiding JS".
|
||||
|
||||
## Run it
|
||||
|
||||
Start the local Php server from the project root, serves only the /public folder
|
||||
|
||||
`php -S localhost:8080 -t public`
|
||||
|
||||
Goto `http://localhost:8080` in your browser.
|
||||
|
||||
## Development
|
||||
|
||||
Fork it and make changes if you want! Make a PR into `main`.
|
||||
|
||||
### Routing
|
||||
|
||||
`/public/index.php` is the router, define all your urls there and assign a controller method for each route
|
||||
|
||||
Other app-wide defaults and vars are also set here.
|
||||
|
||||
### Themeing
|
||||
|
||||
`public/index.php` is also where all colors are defined. It uses tailwind class strings to cover both light and dark themes.
|
||||
|
||||
`tailwind.config.js` can be used to define a custom color pallete.
|
||||
|
||||
There is a bit of JS used to set a cookie that the server can read. This cookie just contains the user's browser's theme preference so the server can efficiently deliver light/dark image assets based on the theme.
|
||||
|
||||
### Composer
|
||||
|
||||
To add additional composer packages:
|
||||
|
||||
`php composer.phar require <package/package>`
|
||||
|
||||
Then commit the `composer.json`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue