GitHub - udilia/create-social-network: Create Social Network by running one comm...
source link: https://github.com/udilia/create-social-network
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
Create Social Network
Create Social Network is a educational project. Its main idea is to demonstrate how one can build large scalable project with React, Node, GraphQL, MongoDB and related technologies. However you get the core functionality of social network by running one command and then you can build more on top of that.
npx create-social-network my-network
cd my-network
npm start
(npx comes with npm 5.2+ and higher, see instructions for older npm versions)
After installation open http://localhost:3000/ to see your app.
Screenshots of some pages
Home Profile ExploreDemo
https://worldexplorer.netlify.com/
Features
- News Feed Fresh posts from people you are following.
- Explore New Posts and People.
- Follow a particular user and get notified for their activity.
- Personalize Profile With profile/cover photo and personal posts.
- Notifications Get notified when someone follows you or likes/comments on your post.
- Authentication & authorization with Password reset functionality.
Requirements and Configuration
You’ll need to have Node 8.16.0 or Node 10.16.0 or later version on your local development machine
App by default uses MongoDB hosted on mLab and Cloudinary CDN for hosting images. We have created demo user for mLab and Cloudinary so you can run app locally without adding Mongo URL and Cloudinary API Key, however when you start developing your application it is recommended to replace those information with your ones, so everybody has its own Database and CDN.
Note demo database is being deleted and populated with demo data daily
Replacing Mongo URL
Replace MONGO_URL
value in api/.env
file with your mLab
database url or with local one.
Replacing Cloudinary API Key
Grab Cloud name
API Key
and API Secret
from Cloudinary dashboard and replace corresponding values inside api/.env
file.
Mail Provider
For password reset functionality you will need to replace Email Provider values also in api/.env
file.
Creating an App
To create a new app, you may choose one of the following methods:
npx
npx create-social-network my-network
(npx comes with npm 5.2+ and higher, see instructions for older npm versions)
npm
npm init social-network my-network
npm init <initializer>
is available in npm 6+
Yarn
yarn create social-network my-network
yarn create
is available in Yarn 0.25+
It will create a directory called my-network
inside the current folder.
Inside that directory, it will generate the initial project structure and install dependencies.
my-network
├── api
├── frontend
├── node_modules
├── .gitignore
├── netlify.toml
├── package.json
├── README.md
The app is organized as Monorepo using Yarn Workspaces
Once the installation is done, you can open your project folder:
cd my-network
And start the application with npm start
or yarn start
that will run the app in development mode.
Open http://localhost:3000/ to view it in the browser.
The page will automatically reload if you make changes to the code.
Deployment
In development mode we are starting api
and frontend
servers with one command, but we need to deploy them separately.
Contributing
Please read our CONTRIBUTING.md before submitting a Pull Request to the project.
Credits
Many ideas for CLI tool and Readme file are taken from Create React App project.
License
MIT License Copyright (c) 2019 udilia
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK