- Messenger Real time messaging system.
- News Feed Fresh posts from people you are following.
- Explore New Posts and People.
- Groups Create a group & Request to join one & Post on a group.
- Page Create a Page & Follow a page.
- Discovery Find people you may know.
- Notifications Get instant notification when : Someone follows you / Likes or comments on your post / Request to join your group / Post on your Group / Post on a page you are following.
- Follow a particular user and get notified for their activity.
- Personalize Profile With profile/cover photo and personal posts.
- Authentication & Authorization
You can visit an already deployed version here.
- Download Node.js.
- Navigate to where the project is located; that is the path where the folder "moria" resides.
- Copy the path from File Explorer
- Open the terminal
- Change directory (paste the actual path istead, don't write the angle brackets):
- Windows:
cd /d <path>
- Linux:
cd <path>
- Windows:
- Install the dependencies and run the server (while still in the same terminal as before)
- Server
- Navigate there using
cd server
- Run
npm install
- Run
npm start
- The server should start now and your terminal will freeze (you can't write anything)
- Navigate there using
- Frontend
- Repeate step 2 (open a new terminal and navigate to the project)
- Navigate to the frontend using
cd frontend
- Run
npm install
- Build with
npm build
- Run
npx serve -s build
- A message will be displayed including a url for the webapp. You can click on it or copy-paste it if it's not clikable.
- The URL will probably be http://localhost:5000
- Server
- Express.js - Backend web framework
- Heroku - Platform to deploy web applications
- JSON Web Token - A standard to securely authenticate HTTP requests
- Material-UI - UI library for React
- GraphQL - query language
- ApolloClient - fetch, cache, and modify application data, all while automatically updating your UI.
- MongoDB - Database to store document-based data
- Mongoose - Object-modeling tool for Node.js
- Node.js - Runtime environment to help build fast server applications
- React - JavaScript library for building user interfaces
- Redux - JavaScript library to help better manage application state