/SecondLife

SecondLife is a cross-platform App, which allows users to sell and buy old things online with just some clicks | react-native (expoGo)

Primary LanguageJavaScriptApache License 2.0Apache-2.0

SecondLife Logo

SecondLife

An application for selling stuff you do not need anymore.

Last Commit Shield Badge Repository Size Shield Badge NPM Shield Badge SecondLife Stars

This repository consists of a React Native Marketplace Application built with Expo CLI.

SecondLife offers free user to user classifieds listings. Buy and Sell!

Running the Application

Running the application on your machine

To run the application on your machine, follow the steps below:

Setting up the Backend Server

  1. Download/ Clone the repository on your machine.
  2. Open the Backend folder via VS Code.
  3. Open the development.json file (configdevelopment.json) and change the asterisks in assetsBaseUrl to your machine IPv4 Address.
  4. Open the terminal at the root of the Backend folder (Ctrl + ') and run npm install to install the project dependencies.
  5. Still in the terminal, run the command node index.js to start the Backend server.
  6. The Backend server is live and ready to be accessed - To confirm that it is live, access http://localhost:9000/api/listings.

Setting up the Application

  1. Download/ Clone the repository on your machine.
  2. Open the app folder via VS Code.
  3. Open the client.js file (appapiclient.js) and change the asterisks in baseURL to your machine IPv4 Address.
  4. Make sure you have Expo CLI installed globally - if not, install it via npm install -g expo-cli.
  5. Open the terminal at the root of the app folder (Ctrl + ') and run npm install to install the project dependencies.
  6. Still in the terminal, run the command expo start to start the app (make sure an AVD is running).
  7. The application should open automatically on the AVD.

Application features

  • 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.

SecondLife Logo