Skip to content

Shahzayb/freemage

Repository files navigation

Freemage

It's an online photo sharing website in which users can like photos, delete their own photos, and upload photos.

Getting Started

Follow these instructions to setup the project for development or production environment.

3rd Party Services

This project uses these 3rd party services:

Note: You have to create account in these services to use this project.

Note: I have a tutorial on Google OAuth

Installing

  1. Clone the project and install dependencies
git clone https://github.com/Shahzayb/freemage.git
cd freemage
npm install
cd client && npm install
  1. Create all third party services accounts mentioned above. I'm assuming you know about these services. If not, then there are many good tutorials on these services.

  2. inside freemage/config folder, create dev.env file. And in freemage/client, create local.env file.

  3. Here is the list of all env variables you have to provide.

inside dev.env:

CLOUDINARY_CLOUD_NAME=value

CLOUDINARY_API_KEY=value

CLOUDINARY_API_SECRET=value

CLIENT_ID=value | a google oauth client id. CLIENT_SECRET=value | a google oauth lib client secret

DB_URL=value | your database uri

JWT_SECRET=value | a json web token secret

inside .env.local:

REACT_APP_CLOUDINARY_API_KEY=value

REACT_APP_CLOUDINARY_CLOUD_NAME=value

REACT_APP_CLIENT_ID=value | a google oauth client id

note: please create separate project of google oauth for development or production

SKIP_PREFLIGHT_CHECK=true | to avoid jest compatibility errors

Running the tests

inside the root of the project run:

npm run test

Built With

Versioning

For the versions available, see the tags on this repository.

Author

License

This project is licensed under the MIT License - see the LICENSE.md file for details