A private delivery service company handles the collection and delivery of parcels for people built using Reactjs, Nextjs and Typescript.
- Nextjs a react framework for building full-stack web applications.
- axios used as the HTTP client.
- Socket.io used as the web-socket client.
# install dependencies
$ npm install
# run the app in dev mode
# the app listen on port 3000
$ npm run dev
- All hardcoded accounts uses the same password which is
password
. - All senders accounts' names starts with
sender_*
.- refers to the number of the sender, we have 5 sender.
- an example of sender account
name: sender_1
andpassword: password
.
- All bikers accounts' names starts with
biker_*
,- refers to the number of the biker, we have 10 bikers.
- A sender should be able to create a parcel to be delivered by specifying pick-up and drop-off address (should be just a text field, no need for address validation).
- A sender should be able to see the status of his parcels.
- A biker should be able to see a list of the parcels
- A biker should be able to pick up a parcel.
- Once a parcel is picked up by a biker, it cannot be picked up by other bikers.
- A biker should be able to input the timestamp of the pickup and the delivery for each order.
- The status of the order should be updated for the sender.
- Web-Socket connections to receive parcels status updates in realtime.
- JWT Authentication for senders and bikers.