All Projects → datatogether → webapp

datatogether / webapp

Licence: AGPL-3.0 license
Web application to allow users to add content metadata about crawled resources

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to webapp

ylem
Add Observable View-Models to React components
Stars: ✭ 42 (+223.08%)
Mutual labels:  react-components
delete-react-zombies
CLI to search and delete unimported 🧟components in your react ⚛️ files
Stars: ✭ 70 (+438.46%)
Mutual labels:  react-components
react-functional-select
Micro-sized & micro-optimized select component for React.js
Stars: ✭ 165 (+1169.23%)
Mutual labels:  react-components
fyndiq-ui
Library of reusable web frontend components for Fyndiq
Stars: ✭ 39 (+200%)
Mutual labels:  react-components
Stardust
🎨Tiller Design System
Stars: ✭ 19 (+46.15%)
Mutual labels:  react-components
react-circle-flags
🚀 A React component with a collection of 300+ minimal circular SVG country flags. Wrapper of HatScripts/circle-flags
Stars: ✭ 29 (+123.08%)
Mutual labels:  react-components
jest-puppe-shots
A Jest plugin for creating screenshots of React components with a little help of Puppeteer
Stars: ✭ 86 (+561.54%)
Mutual labels:  react-components
basic-todo-app-using-bit
A highly-modular React todo application composed of reusable components from 5 different collections. Full-blown software modularity.
Stars: ✭ 16 (+23.08%)
Mutual labels:  react-components
universal-react-webpack-boilerplate
unireact - quickly bootstrap your universal react-app
Stars: ✭ 27 (+107.69%)
Mutual labels:  react-components
react-dailymotion
Dailymotion player component for React.
Stars: ✭ 14 (+7.69%)
Mutual labels:  react-components
babel-plugin-transform-react-qa-classes
Add component's name in `data-qa` attributes to React Components
Stars: ✭ 41 (+215.38%)
Mutual labels:  react-components
lundium
React UI library for fast web development.
Stars: ✭ 24 (+84.62%)
Mutual labels:  react-components
react-scaffolder
⚡ Scaffolding tool for React
Stars: ✭ 43 (+230.77%)
Mutual labels:  react-components
animation-wrapper-view
Declarative animations with imperative controls for RN/RNW.
Stars: ✭ 53 (+307.69%)
Mutual labels:  react-components
react-discord-message
React components to easily build and display fake Discord messages on your webpages.
Stars: ✭ 24 (+84.62%)
Mutual labels:  react-components
lerna-starter
Simple React UI Development environment boilerplate to develop, test and publish your React components.
Stars: ✭ 55 (+323.08%)
Mutual labels:  react-components
react-guidebook
📚 React 知识图谱 关于概念、技巧、生态、前沿、源码核心
Stars: ✭ 22 (+69.23%)
Mutual labels:  react-components
backbone.react-bridge
Transform Backbone views to React components and vice versa
Stars: ✭ 26 (+100%)
Mutual labels:  react-components
neptune-web
Wise Web Design System
Stars: ✭ 55 (+323.08%)
Mutual labels:  react-components
reactivebase
Data components for building reactive UIs
Stars: ✭ 18 (+38.46%)
Mutual labels:  react-components

webapp

GitHub Slack License Codecov CI

Webapp is the main public-facing web application to allow users to contribute metadata about content that has been crawled & archived from Data Together. A beta version of the code runs on archivers.co and production code on datatogether.org. This repository has a React front end that includes the user interface of the web application. New features of the Data Together platform are coordinated and developed in one or more of the other repositories listed in our Roadmap.

License & Copyright

Copyright (C) 2017 Data Together

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.0.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the LICENSE file for details.

Getting Involved

We would love involvement from more people! If you notice any errors or would like to submit changes, please see our Contributing Guidelines.

We use GitHub issues for tracking bugs and feature requests and Pull Requests (PRs) for submitting changes.

Installation

To start developing, first make sure you have Docker and docker Compose. Then, run:

$ git clone [email protected]:datatogether/webapp.git
$ cd webapp
$ docker-compose up

This will spin up a whole bunch of servers (most of the repositories in this organization are dependencies) and make lots of noise. Once you see webpack built you can go to http://localhost:3000 to see the app running locally.

Development

Once Docker has spun up, webpack will watch .js, .scss, amd .css files and attempt to automatically recompile & refresh your browser window on changes. It's a good idea to have the browser's console open to make sure nothing's exploding.

We use the following established toolkits for this project:

  • React.js components for all UI. If you are familiar with React, then all of the src/js/components files should look familiar
  • Redux Framework for state control
  • React Router for navigation
  • Webpack 2 is our module bundler, and we also use yarn for dependency management

Project Organization

  • src/js/actions/ - everything the app can "do"
  • src/js/components/ - react.js components
  • src/js/containers/ - "smart" react.js components that read data from the redux state object
  • src/js/middleware/ - middleware intercepts fired-off actions, performing tasks like API calls & logging
  • src/js/propTypes/ - react.js propType definitions for reuse around the app
  • src/js/reducers/ - redux reducers that map actions to
  • src/js/selectors/ - functions that pull computed logic out of state
  • src/js/store/ - redux store configuration
  • src/js/validators/ - validation logic that checks models, returning error message validation objects
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].