This is my solution to the SellAnyCar Front-end challenge.
Live demo https://muzi-mini-system.mfbproject.co.za/
- Front-end React - https://github.com/zulucoda/muzi-mini-system-app
- Back-End Nodejs - https://github.com/zulucoda/muzi-mini-system-api
The Front-end SPA consumes the Back-end Restful API using JSON data.
The project was created using create-react-app
. This project conforms to the Air BnB style guide's naming and coding-style conventions, with special tweaks. For more info, please see my development tool-belt blog post.
Other:
- I use
redux
for state management. My personal opinion: Always useredux
for state management. Check out my blog article on this - I use
redux-saga
forredux
middleware, and it works well. Please see my blog post onredux-saga
for more info. Prettier
- Automatically formats code after every commit.
Not considered for this challenge, however worth mentioning:
- Tests have not created. However, if this where a production app tests would be written for
reducers, sagas, containers & views
. Typescript
has no been used. However, it is recommended for production applications.
The node API was generated using the express generator. The node project makes use of the MVC and modular pattern.
Other:
- I use
expressjs
web framework to create a simple Restful API. - I used
sequelize
as ORM forPostgreSQL
DB. Usingsequelize-cli
to generate modules, which acts as a repository pattern.
Not considered for this challenge, however worth mentioning:
Typescript
has no been used. However, it is recommended for production applications.
- Node version
v10.15.0
- Yarn version
1.13.0
- OS Ubuntu Linux 18.04 LTS
To run the back-end locally, you'll need PostgreSQL
DB to be installed.
- Clone repo:
$ git clone https://github.com/zulucoda/muzi-mini-system-api
- Install dependencies:
$ yarn
- Create db using sequelize-cli:
$ node_modules/.bin/sequelize db:create
- Run db migrations sequelize-cli:
$ node_modules/.bin/sequelize db:migrate
- Seed the database with user sequelize-cli:
$ node_modules/.bin/sequelize db:seed:all
- Start in dev:
$ yarn start:dev
- Clone repo:
$ git clone https://github.com/zulucoda/muzi-mini-system-app
- Install dependencies:
$ yarn
- Start:
$ yarn start