Coder Social home page Coder Social logo

span's Introduction

Span

a team matcher and organizer for volunteer and creative projects

spanner

Technical Setup

For now, you can set up the backend and frontend separately before we finalize the tech stack and dockerize everything.

Backend Setup

cd backend yarn install yarn strapi dev

Runs the strapi headless CMS backend in development mode.
Open http://localhost:1337 to view it in the browser.

Frontend Setup

cd backend yarn install yarn strapi dev

Runs the React frontend in development mode.
Open http://localhost:3000 to view it in the browser.

Description

Spring is a time for change. It is a time for new projects. For self-discovery. For planting seeds for others.

And despite the global COVID-19 crisis causing massive shutdowns and quarantining, we are springing forward like never before. Springing into public health projects and mutual aid groups but also creative writing collaborations and Zoom bands and sourdough bread making.

However, it is now especially difficult to initiate or find teams for these projects. Slack doesn't have recruiting options, Facebook is Facebook, and the last carrier pigeon Martha died at the Cincinnati Zoo in 1914. That’s why we launched Span, think of it as a nonstop remote hackathon for service and creative projects.

With Span, it will be easy to start your own collaboration by submitting a project idea ― users from around the world can then join a team for your idea.

You can use Span to delegate tasks (using a system developed by the volunteer organization Reach4Help, a branch of Helpful Engineering), check in with team members and volunteer advisers, and track milestones as the project progresses.

It's also easy to take part in an existing project: just submit a list of skills and interests, and Span will show you a list of recommended projects. Ultimately, we hope Span becomes a positive network of projects where anyone can find a place to contribute their skills and discover lasting friendships.

We are currently building and piloting the platform with Helpful Engineering, a group of 16K+ volunteers around the world to encourage more artistic projects in conjunction with engineering in the community. The project is led by Katie Fo and Shayan Chowdhury, with web development help from Shein Lin Phyo. We're also currently onboarding projects and talent from Stanford University.

Start or join projects here or read our launch letter here.

We encourage you to share this message with friends, family, friends at universities, and anyone interested in mutual aid and quarantine projects. If you have a question, concern, or uplifting video of celebrities singing John Lennon tunes, please email us at [email protected].

span's People

Contributors

shayantist avatar kfo42 avatar

Watchers

 avatar

span's Issues

Google Calendar and Trello integrations for project pages

When a project's page is first created, a Google Calendar and a Trello board are automatically created and embedded. Contributors should be able to assign tasks to themselves and change a task's status. Project leaders should be able to assign and change tasks and their statuses.

The embedded Google Calendar should be editable by anyone.

The Trello board should be automatically generated when the project is created (whose account should this belong to?) and should be visible to everyone.

Create Skills and Interests screen

After signing up, each user should see a screen with a list of checkboxes for general categories of skills and interests. The user's checked boxes should be retained with their account, and can be changed in the User Account page.

Example broad categories:
Engineering
Art
Writing
Education
Volunteering
Programming
Mutual Aid
Fan Content
Music
Performing Arts

Example skills:
Fiction writing
Programming languages
3D fabrication
Proofreading
Coloring
Marketing
Character design
Guitar
Voice acting

Use flask-auth to create user roles for each account

https://pythonhosted.org/Flask-Auth/

A user can have multiple projects, and a user's role(s) can be different in each project. All users that are a member of a project can read and comment on all announcements, tasks, and comments within a project.

User roles will consist of the following:

Project Leader: Can assign tasks to other users as well as themselves and make announcements. Only Project Leaders can give another user the Project Leader role.

Initiator: The initiator(s) of a project are automatically given the Project Leader role in addition to Initiator when a project is created.

Contributor: Can assign tasks to themselves but not to others.

Advisor: Same permissions as Contributor.

Supporter: Cannot assign tasks or complete tasks.

Create My Projects page

There should be one card in a simple grid for each project. Each card displays the project's title, brief description, status (in-progress or finished), the number of members, and the user's role(s) in that project. Clicking on a card leads to the project page.

Create Dashboard

Should display:
A list of the user's currently assigned tasks.
Announcements from teams.
Team recommendations (can be disabled).
Notifications that users joined your teams.

Create Find a Project page

A running list of all projects and project ideas that have been submitted. Title, brief description, skill/interest categories, and number of members should be visible for each project.

There should also be a search bar where you can search for a skill/interest category or enter a string to match to titles/descriptions of projects.

Create the overall UI framework

Four main tabs on the left-hand side: Dashboard, My Teams, Find Teams, and User Account.

If you click on Find Teams, smaller tabs for each team appear below the main Find Teams tab. The currently selected team, if any, is highlighted.

On the right is the frame containing the tabs. There should be a log out button along the top bar of the site.

Create showcase page

Display current and finished projects on the site on a page that resembles an artist's portfolio site. Should have formatting in place for images with credits, text with credits, and video with credits.

Create User Accounts page

Users should be able to change their skill/interest checklists, change their name, password, and profile picture, and delete their account here.

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.