Skip to content
A simple RESTful API built with Nodejs, Expressjs, Sequelize ORM & CLI, PostgreSQL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
config
db
modules
public
.gitignore
.prettierrc
.sequelizerc
README.md
SPEC.md
app.js
muzi-mini-system-simple-architecture.png
muzi-mini-system.gif
package.json
yarn.lock

README.md

zulucoda mini-system-app

This is my solution to the SellAnyCar Front-end challenge.

muzi-mini-system

Demo

Live demo https://muzi-mini-system.mfbproject.co.za/

Projects

  1. Front-end React - https://github.com/zulucoda/muzi-mini-system-app
  2. Back-End Nodejs - https://github.com/zulucoda/muzi-mini-system-api

Architecture Simple Overview

The Front-end SPA consumes the Back-end Restful API using JSON data.

muzi-mini-system-simple-architecture

Solution / Tech Stack

Front-end

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:

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.

Back-end

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 for PostgreSQL DB. Using sequelize-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.

Setup Prerequisites

  • Node version v10.15.0
  • Yarn version 1.13.0
  • OS Ubuntu Linux 18.04 LTS

Back-end Code Setup

To run the back-end locally, you'll need PostgreSQL DB to be installed.

  1. Clone repo: $ git clone https://github.com/zulucoda/muzi-mini-system-api
  2. Install dependencies: $ yarn
  3. Create db using sequelize-cli: $ node_modules/.bin/sequelize db:create
  4. Run db migrations sequelize-cli: $ node_modules/.bin/sequelize db:migrate
  5. Seed the database with user sequelize-cli: $ node_modules/.bin/sequelize db:seed:all
  6. Start in dev: $ yarn start:dev

Front-end Code Setup

  1. Clone repo: $ git clone https://github.com/zulucoda/muzi-mini-system-app
  2. Install dependencies: $ yarn
  3. Start: $ yarn start
You can’t perform that action at this time.