FastFeet Fullstack app
π» Project | π Built with | βΉοΈ Getting Started | π License | π¬ Get in touch
π» Project
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.
π Built with
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
βΉοΈ Getting Started
Requirements
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
Backend
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
Frontend
# 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
Mobile
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
π License
This project is under the MIT license. See the LICENSE for more information
π¬ Get in touch!
Made with β and β€οΈ by Stefano Saffran.