All Projects → codefordenver → members

codefordenver / members

Licence: ISC license
Online portal for Code for Denver members

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
shell
77523 projects
HTML
75241 projects

Projects that are alternatives of or similar to members

almanacs
A recipe for everything 🗒️
Stars: ✭ 47 (+213.33%)
Mutual labels:  resources
Web-Dev-Helper
Developer Helper where you can find all resources related to open source and software developer resources
Stars: ✭ 33 (+120%)
Mutual labels:  resources
aloha
An onboarding bot for busy admins and growing Slack teams.
Stars: ✭ 20 (+33.33%)
Mutual labels:  onboarding
tdm-calculator
DTLA Hack for LA is partnering with Los Angeles Department of Transportation (LADOT) to develop a Traffic Demand Management (TDM) calculator tool. This tool will help planners at LADOT and real estate developers to meet the Los Angeles’s Mobility Plan goals by 2035.
Stars: ✭ 21 (+40%)
Mutual labels:  code-for-america
purebasic-archives
A collection of PureBASIC resources.
Stars: ✭ 23 (+53.33%)
Mutual labels:  resources
protect-your-privacy
Privacy resources for the layperson. Highlights resources, tools, VPNs, search engines, articles, books, and dark patterns.
Stars: ✭ 33 (+120%)
Mutual labels:  resources
Datafus
The Dofus database and socket events in JSON files. Includes the source code and more...
Stars: ✭ 16 (+6.67%)
Mutual labels:  resources
website-development-questionnaire
Questions to ask your client before you start developing the website.
Stars: ✭ 28 (+86.67%)
Mutual labels:  resources
pal-plugin
The Flutter onboarding editor
Stars: ✭ 16 (+6.67%)
Mutual labels:  onboarding
Android-Onboarder
Android Onboarder is a simple and lightweight library that helps you to create cool and beautiful introduction screens for your apps without writing dozens of lines of code.
Stars: ✭ 85 (+466.67%)
Mutual labels:  onboarding
Web-Development
Created this new Repository for Open Source Contribution for Beginners
Stars: ✭ 25 (+66.67%)
Mutual labels:  resources
communityconnect
No description or website provided.
Stars: ✭ 23 (+53.33%)
Mutual labels:  code-for-america
Slack-Stock-DAG
This repository holds a list of cool resources for Silica.
Stars: ✭ 94 (+526.67%)
Mutual labels:  resources
stepper-indicator
Step indicator for onboarding or simple viewpager
Stars: ✭ 180 (+1100%)
Mutual labels:  onboarding
recommendations-for-engineers
All of my recommendations for aspiring engineers in a single place, coming from various areas of interest.
Stars: ✭ 81 (+440%)
Mutual labels:  resources
Coding-Foundations-course
No description or website provided.
Stars: ✭ 41 (+173.33%)
Mutual labels:  resources
PracticalMachineLearning
A collection of ML related stuff including notebooks, codes and a curated list of various useful resources such as books and softwares. Almost everything mentioned here is free (as speech not free food) or open-source.
Stars: ✭ 60 (+300%)
Mutual labels:  resources
FreeML
Data Science Resources (Mostly Free)
Stars: ✭ 55 (+266.67%)
Mutual labels:  resources
awesome-metal
A collection of Metal and MetalKit projects and resources. Very much work in progress.
Stars: ✭ 152 (+913.33%)
Mutual labels:  resources
nepali-devblogs
Collection of blogs/publications by Nepali devs.
Stars: ✭ 30 (+100%)
Mutual labels:  resources

Deprecation Notice

The underlying technology that we previously used for the backend of this project has shut down. After considering the amount of effort to migrate the project to another technology and the availability of volunteers to do this work, we decided to deprecate this project for now. Some of the original features for this project have been adopted by the Code for Denver Scout project

If you are interested either reviving this project or integrating some of the features of this project into either the Code for Denver website or Scout project, talk to the Code for Denver Leadership.

Build Status

members.codefordenver.com

Online portal for Code for Denver member resources

screen shot of website


Requirements

  • Node.js - version 10.8.0 (if you have nvm type nvm use in the repo to use the correct version)

Setup:

  1. clone repo

  2. cd into repo directory

  3. Run npm install

    You may also want to install a prettier plugin for your editor. Check here for setup instructions

  4. Follow the following instructions to set up Auth0 and the API Explorer:

    1. Visit https://auth0.com/ and create a new Auth0 account or log-in to your existing one

      it will ask you for a tenant domain. Here you can just enter in your username as this will be used for the API endpoints of your clients.

      1. Select API from the side menu
      2. Select Auth0 Management API
      3. Select the API Explorer tab
      4. Select CREATE & AUTHORIZE A TEST CLIENT. This creates a client that can use the Management API.
      5. Select Applications from the side menu
      6. Select API Explorer Application

    (To enable Log In/ Sign Up functionality, please go to your Auth0 dashboard, navigate to "Hosted Pages", and enter the following: initialScreen: config.extraParams.initial_screen, on line 46 (within the Auth0Lock third argument object))

  5. Go the the command line and run npm run setup (You will be asked for the Domain, Client ID, and Client Secret from the API Explorer Client. Paste them into the command line). This will create the .env.local file in the root of the project.

  6. run npm run gc -- deploy

  7. Enter in the following information in your terminal: graphcool deploy info graphcool deply target name graphcool deploy service name

  8. If prompted to authenticate, enter in the Auth URL into your browser

  9. Sign up for Graphcool

  10. from the output from the previous command copy the Simple API url and add it to the .env.local file for variable REACT_APP_GRAPHCOOL_API

  11. run npm start

Quick Start

After you've followed the set up steps listed above, you can subsequently start the app with:

npm start

Developing

Create React App

The front end for this project was bootstrapped with Create React App. Make sure to check out the excellent docs for the project here. They outline info about the project as well as how a bunch of ways to configure it and add different tools and libraries.

Interacting with the Backend

This project uses graphql for the API layer (see the section on the server for more info). Queries and mutations should be written in .graphql files in the src/graphql directory. Read the following section for information on how to use these in the React code.

Code Generation

This project uses graphql-code-generator to generate code based on graphql files. When you start the app with npm start it will also start graphql-code-generator in watch mode so the generated files will automatically get updated. These generated files are based on a local json version of the schema (updated with npm run download-schema).

With this tool, the names of graphql queries and mutations will have associated TypeScript types defined in ./src/generated-models.tsx. Do not update this file manually. Instead, either run npm start or npm run graphql-codegen and the types will be updated.

Apollo

The generated code mentioned in the above section uses the library react-apollo. Check out their docs here.

Material-UI

This project uses Material-UI for theming. Be sure to check out their component demos, like this one for avatars.

Server: Graphcool

The Graphcool framework is used to spin up and manage the backend for this project.

  1. Use locally installed version of framework with environment variable from .env.local
  • npm run gc -- <command>
  1. View list of available commands
  • npm run gc -- help
  1. Deploying the backend changes
  • npm run gc -- deploy

    NOTE: After deploying changes to the backend make sure to run npm run download-schema to update the local schema for proper code generation and eslint configuration

  1. Interactive console to test out GraphQL
  • npm run gc -- playground

Debugging

General

Start your app by running npm start, and start debugging in VS Code by pressing F5 or by clicking the green debug icon with Chrome as the selected configuration. You can now write code, set breakpoints, make changes to the code, and debug your newly modified code—all from your editor.

Tests

Start debugging in VS Code by pressing F5 or by clicking the green debug icon with Debug CRA Tests as the selected configuration. You can now write tests, set breakpoints, make changes to the tests, and debug your newly modified tests—all from your editor. You can also debug tests using the VSCode Jest plugin (see the next section).

Additional Tooling

Browser Extensions

There are a few highly recommended browser extensions that will help you debug and test code:

Editor Plugins

It is recommended to install some editor plugins to help with development. Here are some great VSCode plugins:

Additional Information

Linting

This project employs the ESLint plugin eslint-plugin-graphql to help developers write schema-compliant GraphQL queries. This plugin will red-line invalid queries that are not schema compliant if you are using an editor with an installed ESLint plugin. If a query fails validation and hence the lint, the travis build will fail as well.

The schema file is checked in to the root directory of the repository as full-schema.json. If the schema on Graphcool is updated and full-schema.json is out of date. It is necessary to run the download-schema NPM script in order to update linting information.

Typescript

This project uses typescript a superset of javascript with static typing. If this is your first exposure to Typescript, check out this intro guide.

It is highly recommended that you use an editor that supports typescript type checking and additional features (like autocomplete). VS Code is a great option that supports Typescript out of the box.

Additionally, you have the option to run typechecking from the command line directly with npm run typecheck

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