Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Shahzayb/freemage
It's an online photo sharing website
https://github.com/Shahzayb/freemage
expressjs free-images freemage image-gallery image-gallery-react mern mongodb mongoose node nodejs online-image-gallery react single-page-app spa unsplash unsplash-clone
Last synced: 4 months ago
JSON representation
It's an online photo sharing website
- Host: GitHub
- URL: https://github.com/Shahzayb/freemage
- Owner: Shahzayb
- License: mit
- Created: 2019-08-13T23:26:47.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-05-11T06:57:48.000Z (about 3 years ago)
- Last Synced: 2024-01-16T17:22:29.454Z (6 months ago)
- Topics: expressjs, free-images, freemage, image-gallery, image-gallery-react, mern, mongodb, mongoose, node, nodejs, online-image-gallery, react, single-page-app, spa, unsplash, unsplash-clone
- Language: JavaScript
- Homepage: https://freemage.herokuapp.com/
- Size: 5.14 MB
- Stars: 5
- Watchers: 1
- Forks: 5
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-cloudinary - Shahzayb/freemage
README
# 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:
- [Cloudinary](https://cloudinary.com/)
- [Google Analytics](https://analytics.google.com/analytics/web/)
- [Google OAuth](https://console.developers.google.com/)
- [Google Account](https://account.google.com/)Note: You have to create account in these services to use this project.
Note: I have a tutorial on [Google OAuth](https://github.com/Shahzayb/mern-google-login)
### Installing
1. Clone the project and install dependencies
```
git clone https://github.com/Shahzayb/freemage.git
```
```
cd freemage
```
```
npm install
```
```
cd client && npm install
```2. 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.
3. inside `freemage/config` folder, create `dev.env` file. And in `freemage/client`, create `local.env` file.
4. 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
* [Express.js](http://expressjs.com/)
* [Mongoose](https://mongoosejs.com/)
* [NPM](https://www.npmjs.com/)
* [Create React App](https://create-react-app.dev/)## Versioning
For the versions available, see the [tags on this repository](https://github.com/shahzayb/freemage/tags).
## Author
* **Shahzaib Sarwar** - [shahzayb](https://github.com/shahzayb)
## License
This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/Shahzayb/freemage/blob/master/LICENSE) file for details