GithubHelp home page GithubHelp logo

andela / andela-societies-frontend Goto Github PK

View Code? Open in Web Editor NEW
2.0 15.0 14.0 16.53 MB

Andela societies is an application that allows fellows to log and track points for their societies

JavaScript 84.62% CSS 12.85% HTML 0.43% Shell 1.98% Dockerfile 0.12%

andela-societies-frontend's Introduction

CircleCI Coverage Status

Andela Societies app (frontend)

Andela societies is an app that avails information about socities at Andela (Invictus, iStelle, Phoenix and Sparks) to everyone at Andela. The app also enables more interaction between Andelans through Societies.



Andela-Societies-Frontend-screenshot


Table of Contents

Technology Stack

  • React
  • SCSS
  • Redux
  • NodeJS
  • Webpack
  • Jest
  • Enzyme

Installation

  1. Install Node JS.
  2. To clone, run git clone https://github.com/AndelaOSP/andela-societies-frontend.git.
  3. cd into the root of the project directory.
  4. Install yarn.
  5. Run yarn install on the terminal to install dependecies.
  6. Setup local development server.
  • In your terminal, execute the following command:

      sudo nano /etc/hosts
  • or if you are using vim, execute the following command:

      sudo vim /etc/hosts

    Otherwise, you can open your hosts file in your editor of choice.

  • Add the following line to your hosts file:

      127.0.0.1 soc-dev.andela.com
  • Save changes and quit the editor.

  1. To start the application run yarn start

Important note: If you intend to contribute to this project, you need to install eslint and ensure linting is working in your editor.

Testing

Unit tests - Run yarn test on the terminal while within the project root directory. Unit testing is achieved through the use of jest package. jest is used to test javascript code in React applications.

To test the app in watch mode, Run yarn test:dev. This listens to changes in your files and runs the tests as soon as there's a change in the files.

Other commands

  • yarn build builds the app for production.
  • yarn serve starts the app in production mode.

Support or Contribution

For any suggestions or contributions please do not hesistate to contact the owners of this repository.

Contributions to this project are welcomed by all, If you need to contribute, follow the steps below

  • Fork the repository
  • Follow Installation and Setup as explained earlier
  • Create a branch off develop for the feature you wish to add
  • Make neccessary changes, commit and raise a pull request against develop, conventions can be found on the wiki page. Note when making contributions, please endevour to follow the Airbnb javascript style guide. Also make sure to follow the Engineering playbook for conventions.

FAQ

See the andela-societies-frontend wiki

Dev notice:

Package installation: Use yarn to install packages. Do not install packages using npm. For more info, checkout this issue.

Running the sandbox

Follow the instructions on this link to run it.

In case of any errors ask the DevOps Engineer in the team

andela-societies-frontend's People

Contributors

anthonygw avatar charlesjonah avatar daud1 avatar farhanisto avatar felixwambiri avatar john555 avatar kachulio1 avatar kimani-ndegwa avatar mkiterian avatar omokaro-faith avatar zachang avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

andela-societies-frontend's Issues

Fix deployment errors

Deployment errors are being caused by installing packages using npm as opposed to yarn. This makes the yarn.lock out of sync with the package.json file hence the deployment error.

Acceptance criteria.

  • The app should be able to deploy successfully.
  • Add a notice in the README.md file that states that all packages should be installed using yarn.

Resolves #155906765

As a user logged in as a Fellow, when I click the FAB, I can see a modal containing a form for logging activities

Add ability to sign in

Description

Implement logic to sign in using the Andela authentication API.

Developers's notes

  • Use the Andela authentication API for sign in. Use https://api.andela.com/login?redirect_url=<appurl> in production or https://api-staging.andela.com/login?redirect_url=<appurl> in development and staging.

  • Store the token in local storage with the key jwt-token to enable Single Sign-On (SSO) with other Andela Apps (AIS, Lv, Lenken, etc.)

  • The production and stating authentication APIs generate tokens with different user Id's so, watch out for unexpected behavior. A quick fix would be to log out and log in again.

Fix bug in router

Currently BrowserRouter has more than one child. This causes the application to throw an error.

Create a config file for different environments.

Why is this important
We need a way to switch between different configs depending on the environment the app is running in, such as:

  • Development
  • Testing
  • Staging
  • Production

Acceptance criteria
Ability to use different configurations based on the value of the NODE_ENV.

Dev notes

  • The config file should live in the ROOT project folder.
  • Configs to set for the different environments should include:
    -- AUTH_API - At the Authentication API's URL.
    -- API_BASE_URL - The URL of the backend API.
    -- APP_URL - The URL of the Andela societies app.

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.