Code Monkey home page Code Monkey logo

clans's Introduction

Build Status

New Clan App based on the FAF API

This App is based on React and is a Single Page Application (SPA). For faster development and to keep the design and usage similar the old app some bootstrap components are used.

The Endpoint of this app is the FAF-API. From my view the current python implementation is not stable and hard to extend, so I used the Java Implementation from downlord: https://github.com/micheljung/faf-java-api/tree/feature/clan

Preconditions

  1. FAF-DB (for the API): https://github.com/FAForever/db
  2. FAF-Java-API: https://github.com/micheljung/faf-java-api/tree/feature/clan

Installation without Docker

  1. Install node
  2. Run npm install

Installation with Docker

  1. docker build -t faf-clanapp .
  2. docker run --name faf-clanapp -d -p 8080:8080 --env-file .env.example faf-clanapp

Development Server

You can run the development server with (Port 8080 must be open)

npm run dev

Don't forget to run the tests (currently only eslint)

npm test 

Configuration

You must maybe adapt some environment variables, see .env.example. In Development Mode you find some fallback values in webpack.config.js

Don't forget to add a OAuth ClientId to the faf database, e.g.

INSERT INTO `oauth_clients` (`id`, `name`, `client_secret`, `client_type`, `redirect_uris`, `default_redirect_uri`, `default_scope`) VALUES ('83891c0c-feab-42e1-9ca7-515f94f808ef', 'clanpp', '83891c0c-feab-42e1-9ca7-515f94f808ef', 'public', '-', '-', '-');

Production Server

See the .travis.yml and Dockerfile

Visit http://localhost:8080/ to see the app.

Features

This list ist a little overview, maybe some kind of specification for the clan app

General

  • A user can login with the faf credentials over OAuth
  • A user can logout
  • A logged in user see his clan
  • A logged in user has a shortcut to navigate to his clan
  • A logged in user can create a new clan

Clan List

  • A user can see a list of clans
  • A user can search in this list
  • A user sort the list of clans (by Name, Taag, Leaer, Member Count)
  • A user can see get navigate to the Clan Page

Clan Page

  • A user see some basic data about the clan (name, tag, description, leader, founder, foundet at)
  • A user see a list of all clan members
  • A user can sort the list of clan members
  • A user can search the list of clan members
  • A clan member clan leave the clan
  • A clan leader can edit the basic clan data except founder and created at
  • A clan leader can invite players see Clan Invitation
  • A clan leader can delete the clan
  • A clan leader can kick members
  • A clan leader can transfer the leadership to a clan member

Clan Invitation

  • A clan leader can generate an invitation link
  • A user can with the correct invitation link join the clan

Technolgies

Resources

I suggest to use Visual Studio Code for development with this plugins:

  • ESLint
  • Sass

clans's People

Contributors

idragonfire 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.