https://pinterest-clone-oct6.onrender.com/
Use the app to generate images using a web link, upload your own images, or use OpenAI’s cutting-edge image generation technology.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisite | Version |
---|---|
Node.js / npm (comes with Node) | ~ ^18.3.0 / ~^8.19.3 |
Git | ~ ^2 |
Optional | Version |
---|---|
Docker Desktop | ~ ^4.4.2 |
MongoDB Compass | ~ ^1.0.0 |
Create a new directory and initialize git
mkdir Pinterest-Clone
cd Pinterest-Clone
git init
Pull from github and install packages
git pull https://github.com/Dereje1/Pinterest-Clone.git
npm install
To run mongoDB locally with docker :
In the root folder run
docker-compose up mongodb
Alternatively, you can get a connection string from mongodb Atlas after setting up your own db.
create .env files
In the root of the project create a .env file with the following contents
SESSION_SECRET=<Secret for Express Session>
MONGOLAB_URI=mongodb://root:123456@localhost:27017
TWITTER_CONSUMER_KEY=< Get from Twitter Developer API >
TWITTER_CONSUMER_SECRET=< Get from Twitter Developer API >
TWITTER_CALLBACK=http://localhost:8080/auth/twitter/redirect
GOOGLE_CLIENT_ID=< Get from Google Developer API >
GOOGLE_CLIENT_SECRET=< Get from Google Developer API >
GOOGLE_CALLBACK=http://localhost:8080/auth/google/redirect
GITHUB_CLIENT_ID=< Get from Github Developer API >
GITHUB_CLIENT_SECRET=< Get from Github Developer API >
GITHUB_CALLBACK=http://localhost:8080/auth/github/redirect
AWS_ACCESS_KEY_ID=< Get from AWS >
AWS_SECRET_KEY=< Get from AWS >
S3_BUCKET_NAME=< s3 bucket name for uploaded pins>
NODE_ENV=<development|production>
DEBUG=Pinterest-Clone:server
DEBUG_COLORS=1
GOOGLE_APPLICATION_CREDENTIALS=< service account key path for cloud vision api >
OPENAI_API_KEY=<Get from openAI>
Run the development environment
npm run dev
You can now go to http://localhost:8080/
and see the project running in dev mode.
If you have docker installed and a .env
file with contents from above, then from the root dir:
- Build and run the images
docker-compose up
- Go to
http://localhost:8080/
- Note: MONGOLAB_URI is already incorporated in the local docker setup and is not needed for your env file if fully running with docker.
npm test
npm run coverage
npm run lint
npm run compileTS
npm run build_server && npm run build_client
npm start
- Node.js - JavaScript runtime
- React - A JavaScript library for building user interfaces
- MongoDB - Database
- Express - Node.js web application framework
- Material UI - A library of React UI components that implements Google's Material Design.
- Google Cloud Vision API - image labeling, face and landmark detection...
- ...and more
- Dereje Getahun - Dereje Getahun
This project is licensed under the MIT License - see the LICENSE.md file for details
- Hat tip to anyone who's code was used