Coder Social home page Coder Social logo

palisadoesfoundation / talawa-admin Goto Github PK

View Code? Open in Web Editor NEW
115.0 115.0 467.0 31.45 MB

Admin portal for the Talawa Mobile App. Click on the link below to see our documentation

Home Page: https://docs.talawa.io/

License: GNU General Public License v3.0

HTML 0.04% CSS 17.04% TypeScript 81.17% JavaScript 0.42% Shell 0.01% SCSS 1.32%
graphql react typescript

talawa-admin's People

Contributors

adi790uu avatar akshatgarg12 avatar dangaranga avatar dependabot[bot] avatar heyjordn avatar noman2002 avatar palisadoes avatar xshubhamx avatar yasharth291 avatar

Stargazers

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

Watchers

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

talawa-admin's Issues

Parent Issue: Fix Numerous GitHub Actions Issues

Describe the bug

This is a tracking issue for these good starter issues for new contributors.

  1. Standardize GitHub Actions file layout: #52
  2. Add Test Coverage Check for Pull Requests as a GitHub Action: #56
  3. Organise github workflow and add script: #37
  4. Verify the ordering of GitHub Actions and ensure linting is occurring: #59
  5. GitHub Action: JavaScript Code Formatter #61
  6. CodeQL must only run on pull requests: #62

To Reproduce

N/A

Expected behavior

N/A

Actual behavior

N/A

Screenshots
If applicable, add screenshots to help explain your problem.

Additional details

This is labeled as a bug as it hinders our ability to test properly and impacts our ability to launch bug free code. All bugs depend on this issue

Feature request

Is your feature request related to a problem? Please describe.
This is a new feature that can be added when a person register themselves with any organisation.

Describe the solution you'd like
Any person registered as attendee for any organisation should be given choice to volunteer the event.

Approach to be followed (optional)
Add a new feature of the volunteers while registering for any organisation. Organisation can outline what they expect from volunteers and if a person can fulfill the requirements they can request organisation to accept them as volunteer.

Whether to select that person as volunteer or not solely depends on organisation, they can accept or decline request.

Also organisation can mention the number of volunteers required.

Additional context
NA

@palisadoes sir

Bug report for README.md Error

Describe the bug
The README.md doesn't contains the link of contributing.md and Talawa Docs github

To Reproduce
Steps to reproduce the behavior:

  1. Open README.md
  2. Go to Documentation Section

Expected behaviour
Instead of text named link, the actual link should be present

Actual behaviour
A text named link is present

Screenshots

Screenshot 2021-05-01 at 7 33 06 PM

Others

Home page and login page for portal

Is your feature request related to a problem? Please describe.
Its a new feature

Describe the solution you'd like
I will use chakra/ui for creating UI .

The home page and login page will provide the base for a user to know what this portal can perform and the user having a valid ID can also signin to the portal.

@palisadoes sir can I work on this

Parent Issue:
#49

Create `Talawa-Admin` Installer

Introduction

  1. We need a single CLI script or program to install Talawa Admin.
  2. It must be 100% intuitive and worry free.
  3. Must be able to run on Linux or Windows

General Requirements

  1. It is highly preferred that the user does not have to install any additional script interpreter other than those used to run Talawa-Admin.
  2. Any failing OS commands must be logged to STDIO, STDERR and .
  3. The script must fail if any underlying OS command fails.

The script must:

  1. Not require the installation of any prerequisite packages for the script itself to run.
    1. This could be achieved by it installing any missing prerequisite packages for itself to run as part of its operation.
  2. Install all required prerequisite packages for Talawa-Admin to operate
  3. Activate Talawa-Admin upon completion of the script
  4. Be a part of the Talawa-Admin code base
  5. Be documented as part of the Talawa-Admin installation guide

Installer Operation

The installation process must:

  1. Prompt for:
    1. The API keys required to communicate with the Talawa-API server.
    2. The URL to use for communicating with the Talawa-API server.
  2. Insert all information prompts in a configuration file.
  3. Provide the web URL to use to access Talawa-Admin

Post Installer Operation

  1. The script (or a second script) must be able to be run to show the status of Talawa-Admin.
    1. This must display whether the connection to Talawa-API correctly operational
    2. This must display whether Talawa-Admin correctly operational

Related Issue

The ability to create organizations in the app must be removed.

Use button instead of input field

btn
The login button in the develop branch on the login page is made using the input field.
This shows inconsistency in code and using input field for the button is wrong according to new design rules.

@palisadoes sir would like to work on this issue.

Additional details
GitHub Externship : 19-05_Sin666_tfa_262

Allow admin to moderate user activity for events, chats and posts

From the admin portal an administrator should be able to view all:

  • Group chats
  • Events
  • Posts

For each item in group chat, event, posts the admin should be presented with additional options for each.

  • From the additional options menu the admin should have the option to remove the group chat, event or the post.
  • The admin should be required to select from default reasons why the group chat, event or post is being removed.
  • Once the group chat, event or post is removed all members of the chat, subscribers to the event and the creator of the post should be notified that the item was removed

Issue related to posts #47

Functionality to pin posts.

Is your feature request related to a problem? Please describe.
Pinning of the posts is the desired functionality and needs to be done by the admin.
See Talawa docs: pinned-posts

Additional context
The design to display pinned posts is ready: Figma prototype

Add appropriate spacing for better UX

All the components should have a uniform padding margin, the inconsistency will lead to bad UI/UX.

Further, the login page is not placed on the page properly. It is in the corner leading to not so good display.

Many of the components fail to follow the same and are different from the Figma design suggested.

@palisadoes sir would like to work on this issue.

Additional details
GitHub Externship : 19-05_Sin666_tfa_262

Implement Linter to enforce style guide

Is your feature request related to a problem? Please describe.
To prevent issues similar to what happened in Talawa due to unlinted code, we need to ensure that all code submitted to Talawa-Admin is linted with ESLint and formatted with Prettier to adhere to the style guide proposed in #27

Describe the solution you'd like
This can be achieved by running a pre-commit hook prior to pushing to github. An example of this can be found here

Describe alternatives you've considered
I have also considered using DeepScan, a static analysis tool, to analyses commits and PRs before they are merged into the codebase.

A guide on using Deepscan with ESLint can be found here

Approach to be followed (optional)
A clear and concise description of approach to be followed.

Additional context
The issue that this references on Talawa may be found here

Allow admins to revoke membership to an organization

From the admin portal, the admin should be presented with the list of members in the selected organization

  • Additional options should be presented for each member
  • An option should be presented to the admin to revoke membership to the organization for each member
  • The admin must enter from a list of defaults the reason why membership is being revoked
  • Once the admin revokes membership to the organization, that user should be notified that their membership was revoked and the reason specified
  • The user should be removed as a member of the organization and should no longer have access to view activities of the organization
  • The user should not be able to rejoin the organization

Allow users to send request to join private organizations

When a user views a private organization

  • The user should be presented with the option to send a request to join the organization.
  • A notification should appear in the admin portal for that organization.
  • The administrator should have the option to approve or decline the request to join #63

Add and test GitHub action to lint all PRs before submission

We need to lint all code as part of the pull request process.

  1. The commands for the actions file can be found at the beginning of the documentation of this outdated GitHub action
  2. We will need the action to be activated only on a pull request. We have an example of how to do that in the Talawa repo
  3. Make the action be defined in a file named linter.yml

Test and make sure it doesn't break the code. Try running the linter on the code base as proof.

JSON Language packs must be able to be uploaded to API from the Web Portal

Is your feature request related to a problem? Please describe.

  1. The mobile app currently has a set of pre-defined JSON files used for translating menu items
  2. The API will store:
    1. Updated versions of existing files
    2. New files for previously unsupported languages

Describe the solution you'd like

  1. New files for previously unsupported languages will need to be uploaded in the talawa-admin portal
  2. These files will need to be stored in a well known location so that they can be retrieved by the mobile app.

Describe alternatives you've considered

N/A

Approach to be followed (optional)

None

Additional context

  1. Mobile App Retrieval Process: PalisadoesFoundation/talawa#859
  2. Discussion of the strategy: PalisadoesFoundation/talawa-api#281
  3. Issue for API storage of files: PalisadoesFoundation/talawa-api#283

Convert Talawa-Admin to React - Parent Issue

Is your feature request related to a problem? Please describe.
@XshubhamX suggested in Talawa-API Issue 236 that we should migrate talawa-admin to react to get more contributions.

We have decided to do this. This issue is a tracking issue against which all tasks will be managed.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
The current vue.js solution isn't getting any traction.

Approach to be followed (optional)
Migrate to react.js to get more activity in this repo.

Child Issues

A list of issues will be placed here as they are generated.

Figma design - add registration option too

The current Figma design has just one entry point that is the login page.
pali1

There is a big question that how organization would register and get verified to have their own account.
Every organization account created should be verified by a few documents and organization should be registered.

So on the entry page design needs to be edited
pali2

Additional details
GitHub Externship : 19-05_Sin666_tfa_262

Would like to work on improving UI/UX of the admin portal.
@palisadoes @yasharth291

Make website responsive

The admin portal is not responsive on any screen sizes. This is a problem as the admin might access it through different screens and variation in UI would not result in a good user experience.

@palisadoes sir would like to work on this issue.

res

Additional details
GitHub Externship : 19-05_Sin666_tfa_262

Organise github workflow and add script

Is your feature request related to a problem? Please describe.
Creation of only two yml file, one for issues and one for PR and organise the workflow code.
We can add the countline script here and it will help to make sure the project is structured.

Describe the solution you'd like
2 yml files:

  1. issues.yml
  2. pull-request.yml

Approach to be followed (optional)
The current 3 yml files will be updated to two yml files and if allowed the addition of countline script

Add Test Coverage Check for Pull Requests as a GitHub Action

Is your feature request related to a problem? Please describe.

  1. The code base is insufficiently testable.
  2. We need all code to be tested as part of each pull request.

Describe the solution you'd like

  1. We need a way to add a GitHub action that automatically checks the codebase for the percentage coverage by tests.
  2. The check should error out when the percentage is below a predefined level
  3. The aim is that we’ll set increasingly higher percentage coverage until the codebase is 100% covered
  4. We also want to ensure and verify that all tests in the repo are automatically run as part of each pull request as a GitHub action.

Describe alternatives you've considered

  1. We have seen solutions such as those by CodeCov for Javascript. Using CodeCov is the preferred approach.
  2. We have decided against using a jest script.

Approach to be followed

  1. This must be added as a GitHub action in the repository’s issues.yml file
  2. There are many examples of how to implement this that you can consider
    1. From the CodeCov website
    2. Another example
  3. We need this to comply with our GitHub actions policy.
  4. We want this to only done on pull requests to start, so edit the pull-requests.yml file only in the GitHub actions folder.
  5. Determine the current code coverage level. Set the GitHub action to pass at that threshold.
  6. We will increase the GitHub action value after successful submission of the PR that closes this issue.

Additional context

This is labeled as a bug as it hinders our ability to test properly and impacts our ability to launch bug free code. All bugs depend on this issue

GitHub Action: JavaScript Code Formatter

Describe the bug

  1. To reduce the risk of conflicting files, we need a standardized way of formatting the JavaScript code before a pull request.
  2. There are a number of solutions for this

To Reproduce

N/A

Expected behavior

N/A

Actual behavior

N/A

Screenshots

N/A

Additional details

Parent Issue: Fix Numerous GitHub Actions Issues #58

This is labeled as a bug as it hinders our ability to test properly and impacts our ability to launch bug free code. All bugs depend on this issue

Standardize GitHub Actions File Layout

Is your feature request related to a problem? Please describe.

We need to have a standardized way of adding GitHub actions to the repository. The preferred methodology is that done with the Talawa repo.

Describe the solution you'd like

  1. Place all actions related to issues in the issues.yml file.
  2. Place all actions related to pull requests in the pull-requests.yml file.
  3. Have a greeting for first issue created
  4. Have a greeting for first PR created
  5. Force the manual running of GitHub actions by the PR approvers if it is the submitters first pull request. This is already done with Talawa.
  6. Add a README.md file that states these requirements Use this as a guide.

Describe alternatives you've considered

  1. When the actions are in a single file GitHub gives status messages for each section. This makes it easier for both the PR approver and submitter to troubleshoot the source of the error.
  2. The current method gives only a single status. You have to click through to see the results.

Approach to be followed (optional)

Detailed information on how to manage GitHub actions can be found here.

Additional context

If we have a standardized approach, both troubleshooting and the addition of new actions will be easier

Implement CI/CD Pipeline to run tests before PR merges

Is your feature request related to a problem? Please describe.
To ensure that tests are run before code is merged we need a tool to automatically run the tests to improve the reliability of Talawa-Admin as all feature/pull requests need to be adequately tested before they are merged.

Describe the solution you'd like
The tool must be :
- Free for non-profit organizations (ideally)
- Automated against the master and develop branches

Describe alternatives you've considered
I have considered using vercel's github integration for this. The approach I had in mind can be found here
vercel/vercel#4589

CodeQL GitHub Action Needs to Run Only on Pull Requests

Describe the bug

The current CodeQL GitHub Action configuration file has a number of deficiencies. The file is located in our workflows directory

  1. It runs as a cron job on a regular basis. This must be removed as it utilizes unnecessary resources.
  2. It only runs on the master branch. It must run on all our branches
  3. It runs on pushes. It must only run on pull requests (PRs)

To Reproduce
Steps to reproduce the behavior:

  1. Push to a branch.
  2. Issue a pull request

Expected behavior

It should only be run on a pull request

Actual behavior

See above

Screenshots

None

Additional details

Parent Issue: #58

Add the Ability to Disable Users

Is your feature request related to a problem? Please describe.

There will be times when we will need to disable users, for example:

  1. Breeches of codes of conduct
  2. Users leave the organization's membership

Describe the solution you'd like

  1. There must be screen for disabling users for an organization
  2. The API must only accept this disabling from talawa-admin
  3. The API must immediately log out the user as soon as talawa-admin disables them

Describe alternatives you've considered

See above

Approach to be followed (optional)

See above

Additional context
Add any other context or screenshots about the feature request here.

Related Issue: PalisadoesFoundation/talawa-api#256

Add Code Style Guide to CONTRIBUTING.md

Is your feature request related to a problem? Please describe.
There is a need for a consistent code style within Talawa-Admin to ensure that maintainable and easy to understand components are merged into the repository, similar to what's present in the Talawa and Talawa-API repositories

Describe the solution you'd like
This could be similar to AirBnB's react style guide found here, but tailored towards using functional components and hooks.

Describe alternatives you've considered
Although most style guides use class components as opposed to functional components, a few other style guides that could be considered for reference are as follows:

Approach to be followed (optional)

Additional context
N/A

Allow admin to accept or decline request to join organization request

From the admin portal an admin should be able to view join requests fro a private organization.

  • A screen should be presented to the admin where a list of join requests are presented
  • The option must be presented for the admin to accept or decline the request
  • If the admin accepts/ approves the request to join the organization the user is then added as a member of the organization
  • if the admin rejects/ declines the request to join the requesting user must be notified via the application that their request to join was declined

Add the ability to create new organizations

Talawa Admin installation (Issue #18) prompts to create a Organizational Creator Admin (OCA). There needs to be a way where this user can create additional organizations suitable for creating a cloud service.

The creation of the organization will need to:

  1. Create a different organization URI for Talawa users to select in their mobile app
  2. Allow the OCA to access the administration panel of any regular Administrator who only have access to their own panel.

We need to also remove the ability to create new organizations in the mobile app as a part of this

Parent issue:
#48

Related Issues:

  1. Issue 236 - Talawa API
  2. Issue 19 - Talawa Admin
  3. Issue 710 - Talawa

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.