Giter Club home page Giter Club logo

russia-wc's Introduction

Russia World Cup 2018

Documentation

The main theme of this project is the World Cup in Russia. Match data is provided by Football-Data.

Frameworks and technologies used on the backend:

  • ExpressJS
  • MongoDB for storage
  • Redis for caching
  • Authentication is implemented through JsonWebTokens.

Frameworks and libraries used on the frontend:

  • React for view management
  • Redux for state management(also react-redux bindings and redux-thunk middleware)
  • Webpack
  • Babel
  • Moment
  • Normalize.css

Available functionality

Non authenticated users are only presented with a login/register form and credits, mentioning used assets and their artists. Once a user logs in they get access to the Dashboard, which shows all of the 32 teams in a grid along with their record of wins, draws and losses. There is a team details page, which shows the team's crest and the matches they've competed in, and a match details page, which shows its outcome and available stats, such as half-time score, full-time score, etc. A user can also favourite their supported teams and view only their stats in a concise manner at their profile page. Administrators have access to a list of all users and can edit them and delete them.

Screenshots

Go try it out yourself at https://russia-wc.js.org/!

Requirements

General requirements

  • At least 3 different dynamic pages (pages like about, contacts, etc. do not count towards that figure)
  • Use React.js for the client-side
  • Communicate to a remote service (via REST, sockets, GraphQL, or a similar client-server technique)
  • Implement authentication and user roles
  • Implement client-side routing
  • Demonstrate use of programming concepts, specific to the React library: stateless and statefull components, bound forms, synthetic events, etc.
  • Brief documentation on the project and project architecture (as .md file)

Other requirements

  • Apply error handling and data validation to avoid crashes when invalid data is entered
  • Prevent security exploits (XSS, XSRF, Parameter Tampering, etc.)
  • Handle correctly special HTML characters and tags like <script>, line breaks, etc.
  • Use a source control system, like GitHub

Optional Requirements

  • Use responsive design – Bootstrap, MDL, CSS Grids or another method of your choice
  • Nice looking UI, supporting of all modern and old Web browsers
  • Good usability (easy to use UI)

Bonuses

  • Use a state management library like Flux or Redux
  • Deploy the application in a cloud environment
  • Use a file storage cloud API, e.g. Dropbox, Google Drive or other for storing the files
  • Connect to an external API, like Google Maps, AccuWeather, etc.
  • Use of features of HTML 5 like Geolocation, Local Storage, SVG, Canvas, etc.
  • Anything that is not described in the assignment is a bonus if it has some practical use

russia-wc's People

Contributors

dependabot[bot] avatar kaykayehnn avatar

Watchers

 avatar

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.