The Dev Garden site serves two related purposes:
- showcasing software projects built by or involving Macalester students, and
- helping project owners find new student collaborators.
Its audiences include:
- students wishing to share their work and get peers involved,
- students curious about building software projects and looking for opportunities and inspiration,
- Macalester community members (alumni, faculty, staff, etc.) interested in what students are up to, and
- members of the public who aren’t aware of all the fascinating things that students here build!
Design Approach
The site eschews the usual flavor of project showcase sites: it’s not another resumé farm, or programming-flavored “Facebook lite,” or a points-as-reward hamster wheel.
Instead, its design focuses attention on the software projects themselves. Individual profile pages focus on participation in the Dev Garden community, letting links to external sites speak to students’ expertise and personality. There are no comments sections; communication happens primarily through requests and offers of collaboration. The focus throughout is on building wonderful things.
Implementation Notes
The site uses a fairly standard Rails 5 + Postgres stack. It uses readability-friendly alternate syntaxes for familiar languages: HAML, SASS, and Coffescript (which compile to HTML, CSS and Javascript respectively). It does not use any across-the-board bootstrapping / layout / UI framework — the stylesheets are all hand-coded — but it does use jQuery and several third-party Javascript libraries for specific UI behaviors. It makes heavy use of Formtastic, and uses Que running in in-process mode for background jobs.
See the project gemfile and vendor assets directory for a full list of third-party libraries.
The site is deployed on an Ubuntu Linode with Passenger and (because of the needs of other sites deployed on the same box) Apache HTTP Server. It uses memcached for caching, Mailgun for email, and Let’s Encrypt for SSL certs.