The Problem

Currently, many nonprofit organizations are having trouble competing for the attention of digital users, and in an increasingly digital world, this is preventing them from progressing in their causes. We are also living through an era, where time is of the essence, and many small businesses and organizations are hanging by a thread. We thought that it was unfair that the very groups that are trying to make the world a better place, are faced with the impossible solution of having to settle for low-tech alternatives to continue their causes.

Our Goal

As young student developers fairly new to the development space, we realized that there were many other people like us who wanted to make a difference, but didn’t have enough experience to make change on a large scale. We thought that if we could join these two groups, we could better help organizations get their message out in a modern, more effective manner.

We decided our goal for this project would be to level up local non-profits and helping them become more technologically advanced allowing them to more effectively work on completing their missions, to make the world a better place. Also giving the opportunity for other organizations to post challenges, creating opportunities for beginner developers to gain experience.

Solution

With Stratus, if an organization has a problem that a developer could solve, they post a challenge on our site, next a Developer would come along and create a project under that challenge. They would then work as a team with other contributing developers to create a production grade app, that helps the organization tackle the problem they need solving. The projects will have a built in To-do list that the contributors can use to organize the tasks needed to complete the project. A challenge can have multiple projects, which allows developers with different ideas to create different projects, all under the one challenge. The Organizer can then star the project that they end up using, which will reward the developer contributors a badge on their user profile.

In addition to fostering connections between Developers and Organizations, we wanted to make tools that organizers and developers could use to filter down the projects and challenges. We made the tag features so that Organizers could specify the urgency of the challenge, to help developers find the challenges that they can, and want to help, and finally, as a user profile feature so developers can share their interests.

Finally, we wanted to foster a sense of community on our platform, and so we decided to add community maps on the challenge pages. At the end of the day, we wanted to help reassure our developers that they are not alone. So, for each challenge, we made a map that shows a user the concentration of fellow developers who are also working on the challenge.

Features

  • Challenge pages where organizations post challenge prompts.
  • Project postings where developers can join projects.
  • Tasks associated with each project which act as a to-do list for contributing developers.
  • Tags act as labels that projects, challenges, and users can associate themselves with to be a part of those communities.
  • Badges awarded to developers for completing challenges.
  • Community heatmap where developers can see other contributors in their area, fostering a sense of community.
  • User profiles that others can view

Development

We worked with the Django Python web framework, HTML and CSS, alongside the Cirrus CSS framework, to build the frontend. The deployment is backed by NGINX and an sqlite database, with both PostgreSQL and MySQL being completely supported alternatives.

Challenges

While being one of our core features, the contributor heat map was quite a challenge to implement.

Accomplishments

We were able to finish this project with close to full functionality, and learned how to work with geojson data when creating the Mapbox API map.

Future

  • More complete functionality and better mobile views
  • Support for user interaction in the form of message boards
  • Integration into git repositories including hosting or mirroring
  • More control for challenge creators and site administrators
Share this project:

Updates