💻 Project | 🚀 Built with | ℹ️ Getting Started | 📃 License | 📬 Get in touch
Fastfeet is a fictitious logistics company and the application consists of an api in NodeJS, a web app in ReactJS, that allows the admin to manage recipients, deliverymen and deliveries and a mobile app in React Native, that allows the deliveryman to see and update the status of his deliveries and inform if there are any problems with it.
This project was developed with the following technologies:
- Node.js
- Express
- ReactJS
- React Native
- Redux
- Redux-Saga
- Redux-persist
- Styled-components
- React Navigation
- JWT
- Immer
- Axios
- React-icons
- React-toastify
- Reactotron
- Polished
- Yup
- Date-fns
- AWS S3
- Multer
- ESLint
- Prettier
- VS Code
To run the application you will need:
I strongly recommend using Docker to run the databases.
If you decide to use docker, follow this steps to install and run the docker images.
# install Redis image
docker run --name imageName -p 6379:6379 -d -t redis:alpine
# install Postgres image (if you don't specify an username it will be postgres by default)
docker run --name imagename -e POSTGRES_PASSWORD=yourPassword -p 5432:5432 -d postgres
# start Redis
docker start imageName
# start Postgres
docker start imageName
Now clone the repository and install the dependencies.
# to clone the repository
git clone https://github.com/StefanoSaffran/fastfeet.git
# go into the backend folder
cd fastfeet/backend
#install the backend dependencies
yarn
In order to connect to the database, you will need to enter the access informations into a .env file, based on a .env.example file that is provided in the backend folder, change the variables according to your environment.
# run migrations
yarn sequelize db:migrate
# run seeds
yarn sequelize db:seed:all
# run api
yarn dev & yarn queue
# in another tab of the terminal install the frontend dependencies and run it
cd frontend
yarn
yarn start
Use this credentials to access the web application
email: admin@fastfeet.com
senha: 123456
The Application was developed using Expo. It is a free and open source toolchain built around React Native to facilitate the process of running and testing applications. Click here to get start with Expo.
# install the dependencies
cd mobile
yarn
In order to run the application on your device, you need to change the ip config.
baseURL: 'http://192.168.0.185:3333',
replace 192.168.0.185 with your machine's ip.
If you want to use Reactotron change the ip in the Reactotron config file.
.configure({ host: '192.168.0.185' })
Now with everything on place, run the application.
# to run the app
yarn start
Expo will open a page in your browser, scan the QRcode on the page and wait for the app to load.
The Application was developed and tested on Iphone 6s
This project is under the MIT license. See the LICENSE for more information
Made with ☕ and ❤️ by Stefano Saffran.