GithubHelp home page GithubHelp logo

owaisad / ecoflipr Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 16.41 MB

EcoFlipr - A robust full-stack reselling platform that simplifies the process of selling products with ease and efficiency.

HTML 0.16% CSS 0.02% TypeScript 99.61% JavaScript 0.18% Shell 0.03%
express graphql mongodb nodejs react mongoose

ecoflipr's Introduction

EcoFlipr

Table of content

About

Full Stack application using TypeScript, React.js, GraphQL, Mongoose, MongoDB, Express, Node.js.

Technologies

Technologies used:

  • Backend:
    • GraphQL (Apollo GraphQL) as middleware with Express for API, MongoDB as document DB using Mongoose for Object Document Mapping, written in TypeScript.
    • JWT token auth, with bcrypt checked on specific requests.
    • Integration testing done with JEST
  • Frontend:
    • User interface made with React (built using Vite) and styled with Tailwind CSS (also used for DARK-mode).
    • Implements react-routing with protected routes.
    • React-hot-toast for notifications.
    • Downscale images for fast load: here
  • Both:
    • Using Prettier for formatting and Husky for auto formatting using pre-commit hook

Check out documentation

Setup project instructions

Start by running the backend:

  1. Right click server folder
  2. Click: Open in integrated terminal In the terminal write:
  3. Install dependencies: npm i
  4. Create a ".env" file in the folder and add the following key and values (or use the .env.template):
MONGO_PRODUCTION_URI=YOUR_MONGO_PRODUCTION_DB_URL
MONGO_DEVELOPMENT_URI=YOUR_MONGO_DEVELOPMENT_DB_URL
MONGO_TEST_URI=YOUR_MONGO_TEST_DB_URL
JWT_SECRET=ThisCouldBeYourJWT_SECRET
JWT_EXPIRES_IN=1h
PORT=5000
  1. ONLY WHEN RUNNING FIRST TIME: In app.ts, uncomment line 63 and 64 to seed/populate the db with categories and cities. Remember to shutdown the server and comment out the lines after first execution.
  2. Now fire up the server: npm run dev

Your backend should now be running on http://localhost:5000 and that should be it.

Now for the fronend:

  1. Right click client folder
  2. Click: Open in integrated terminal In the terminal write:
  3. Install dependencies: npm i
  4. Create a ".env" file in the folder and add the following key and values:

You would have to create 2 api keys:

  • Google Maps Api
  • Upload JS Api
VITE_GOOGLE_MAPS_API=GOOGLE_MAPS_API
VITE_IMAGE_UPLOADER_API=UPLOADER_JS_API
  1. Finally run: npm run dev

That should be it for the frontend. Enjoy.

ecoflipr's People

Contributors

owaisad avatar thomasfritzboger avatar danield99 avatar wolfgang1235 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.