The delivery service FastFeet is an application similar to the post offices. Manager (web) and employees/delivery man (mobile) consuming it's own API.
A RESTful API using Node.js with Express
- ⚡ Express — A web framework for Node.js
- 💾 Sequelize — SQL dialect ORM for Node.js
- 💻 Sentry — An open-source platform to monitoring errors in real-time.
- 🔒 Bcryptjs — A library to handle password hash
- 🐝 Bee-queue — A job/task queue for Node.js
- 📠 Cors — A protocol that enables interaction with resources from a different origin
- ⏰ Date-fns — A library to deal with date and time
- 🔑 Jsonwebtoken — An internet standard for creating JSON-based access tokens
- 📎 Multer — A Node.js middleware for handling multipart/form-data
- 📫 Nodemailer — A module for Node.js to allow email sending
- 👓 Youch — Pretty error reporting for Node.js that helps erros to be easier to read
- 📝 Yup — A JavaScript schema builder for value parsing and validation
- 👾 Express-Brute — A brute-force protection middleware for express that block massive requests.
- 📰 Ioredis — A Redis client.
- 📈 Express-rate-limit — A IP rate limiting middleware for Express.
- Clone this repository;
- Go inside the folder
cd fastfeet
; - Run
$ yarn
to install dependencies; - Copy the content of
.env.example
inside a a new archive.env
then insert your credentials; - Run
$ yarn sequelize db:create
to create the database; - Run
$ yarn sequelize db:migrate
to run all migrations; - Run
$ yarn sequelize db:seed:all
to run all seeds; - Import fastfeet-insomnia.json that is at the root of this repository inside
- Run
$ yarn queue
to run all background jobs; - Run
$ yarn dev
to run the server;
A ReactJS project created with create react-app
- Material UI
- Unform
- Axios
- Date-fns
- Immer
- React Hooks
- Prop-Types
- React Router Dom
- Redux
- React Redux
- Redux Persist
- Redux Saga
- Styled Components
- Yup
- React Select
- React Input Mask
- Reactotron
- reactotron-react-js
- reactotron-redux
- reactotron-redux-saga
- Babel
- babel-eslint
- babel-plugin-root-import
- ESLint
- eslint-config-airbnb
- eslint-plugin-import
- eslint-plugin-jsx-a11y
- eslint-plugin-react
- eslint-import-resolver-babel-plugin-root-import
- Prettier
- eslint-plugin-prettier
- eslint-config-prettier
- EditorConfig
- customize-cra
- eslint-plugin-react-hooks
- react-app-rewired
- Go to
$ cd fastfeet/frontend
; - Run
$ yarn
to install dependencies;
- Open another terminal, go to
$ cd fastfeet/backend
; - Run
$ yarn dev
to start the server Backend; - Run
$ yarn dev
to start the React APP;
Login:admin@fastfeet.com
Password:123456
Bare project created with react-native init
Most libraries used here are the same as in frontend, that's the beauty in React, but of course there are some differences.
- React Navigation
- React Native Community/Async storage
- React Native Camera
- React Native Vector Icons
- Reactotron React Native
Most are also alike as frontend, but of course there are some differences.
- 📱 Android emulator — Guid to setup environment
- Go to
$ cd fastfeet/mobile
; - Run
$ yarn
to install dependencies;
- Open another terminal, go to
$ cd fastfeet/backend
; - Run
$ yarn dev
to start the server Backend; - Open your emulator;
- Open another terminal, go to
$ cd fastfeet/mobile
; - Run
$ yarn start
to start Metro Bundler; - Open another terminal, inside
$ cd fastfeet/backend
; - Run
$ yarn android
to run the android project;
- Press and hold to withdraw
- Withdraw hours limit
- Pull to Refresh
- Drop down problem
- Drop down problem
- Slide to go back
- Send picture confirmation or take again
🔗 Github
This project has MIT license. Look at LICENSE for details.
Back to top ⬆️