An application for selling stuff you do not need anymore.
This repository consists of a React Native Marketplace Application built with Expo CLI.
SecondLife offers free user to user classifieds listings. Buy and Sell!
To run the application on your machine, follow the steps below:
- Download/ Clone the repository on your machine.
- Open the
Backendfolder via VS Code. - Open the
development.jsonfile (config→development.json) and change the asterisks inassetsBaseUrlto your machine IPv4 Address. - Open the terminal at the root of the
Backendfolder (Ctrl + ') and runnpm installto install the project dependencies. - Still in the terminal, run the command
node index.jsto start the Backend server. - The Backend server is live and ready to be accessed - To confirm that it is live, access
http://localhost:9000/api/listings.
- Download/ Clone the repository on your machine.
- Open the
appfolder via VS Code. - Open the
client.jsfile (app→api→client.js) and change the asterisks inbaseURLto your machine IPv4 Address. - Make sure you have Expo CLI installed globally - if not, install it via
npm install -g expo-cli. - Open the terminal at the root of the
appfolder (Ctrl + ') and runnpm installto install the project dependencies. - Still in the terminal, run the command
expo startto start the app (make sure an AVD is running). - The application should open automatically on the AVD.
-
10 Screens- Welcome, Register, Login, Account, Upload, View Image, Messages, Listings, Listing Edit, and Listing Details Screens. -
Animation- Using Lottie (Activity Indicator, done animation and more). -
Authentication- User authentication (Register, Login/out). -
Cache Layer- Caching Images. -
Custom and Reusable Hooks- Api, Location, and Notifications. -
Form Validation- Using Formik. -
Gesture Handler- Swipe to delete, and pull to refresh. -
Navigation- Using React Navigation and Stack Navigator. -
Push Notifications- When messages are received. -
Reusable Components- Button, Icon, Forms, Screen, Text, Text Input and more. -
Splash Screen- Logo Screen Design while the app is launching.
