Coder Social home page Coder Social logo

dashboard's Introduction

Dashboard

Authors

General considération

The goal of this projet is to build a complete dashboard with multiple widgets on multiple services (spotify / twitter / facebook...).

The client must be able to link his services with 2Oauth. A refresh timer must be present for the widgets.

  • The Client is available on http://localhost:3000/
  • Server is available on http://localhost:8080/
  • Mongo Admin is available on http://localhost:8081/

Docker

To build the project -> docker-compose build To run the project -> docker-compose up

Client and Server have their own Dockerfile to build Reactjs and Nodejs environements

Docker compose at the root of the directory call them and expose them in the right port. Docker compose also build mongo admin image.

He also build and sync the mongodb image used to store :

  • User email
  • User password
  • User Tokens for each Api

Front-end

We used ReactJS to develop the front end of our application.

Important librairies used :
- MUI (Material UI) -> For Design components like buttons or appbar
- react-grid-layout -> Principal grid of the dashboard
- react-router -> To create client part routes (/register - /dashboard - /settings)
- Redux -> To store user email easily on client part
- Axios -> To do easier requests to server side


Folders description :
- public -> Html to call reactjs app
- src -> All the Reactjs app
- src/views -> All pages classed by file name
- src/views/style -> All the css files used in views files
- src/redux -> Store and Reducer setup
- src/components -> All the components needed for the client (widgets / grid)
- src/components/widgets -> All the widgets classed by folder name and then file name

Back-end

We used NodeJS / Express to develop the back-end of our application.

Important librairies used :
- Dotenv -> To store api client_id and client_secret keys
- PassportJS -> To make 2OAuth authentifications with the services (Github / Spotify / Reddit / Google)
- bcryptjs -> To encrypt password in the database when creating users
- Snoowrap / github-api / spotify-web-api-node -> Easier api calls and exceptions gesture to the different services


Folders description :
- db -> Db creation and connection gesture
- db/models -> User model setup
- files -> about.json default file
- routes -> All back-end routes used for the project
- routes/api -> Routes for api calls
- routes/auth -> Routes for passport OAuth with the services
- src -> Little usable function

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.