UpcomingTasks was a free web-based Basecamp 2 client that I developed to easily manage tasks on smaller devices.
Users had the option to upgrade to a Pro account which unlocks additional features.
It was created in Sublime Text using the Basecamp 2 API and hosted by Digital Ocean.
The service was online from September 2012 and retired on 15 November, 2016.
I was inspired by Brad Frost's TED talk about being open by default. If you haven't seen this talk yet, I'd recommend investing half an hour to watch the video and read the blog post.
As I'm self-taught, engaging with the community, listening to inspirational people and reading about new techniques helped me turn my passion in to my career.
I hope an aspiring web developer can learn something new from what I've done here and start their own career. Hopefully I can give back to the community that has taught me so much over the last few years.
You can view the License file for rights and limitations when using the code here in your own projects.
The license is based on the CSS-Tricks License which was created by Chris Coyier.
Here's the steps that I go through to configure a new UpcomingTasks server on a Digital Ocean Ubuntu 14.04 VPS.
sudo apt-get update
sudo apt-get -y install git apache2 mysql-server libapache2-mod-auth-mysql php5 php5-mysql libapache2-mod-php5 php5-mcrypt php5-cgi php5-curl sendmail
First you'll need to configure a SSH key.
Then you can make a copy of the repository in a suitable directory, such as /var/www/html
:
git clone git@https://github.com/brendanmurty/upcomingtasks.git .
cp libs/auth.php.sample libs/auth.php
vim libs/auth.php
Update the authentication tokens and login information in this private file.
mysql -u root -p
[enter root user password]
create database upcomingtasks;
exit
mysql -u root -p upcomingtasks < scripts/sql/users.sql
[enter root user password]
sudo cp scripts/server/web-server.conf /etc/apache2/sites-available/000-default.conf
vim /etc/apache2/sites-available/000-default.conf
Update the ServerName and ServerAdmin values to suit your server and email address.
vim .htaccess
Update the domain references in this file.
sudo service apache2 restart
If you've setup your Basecamp Integration app to use a HTTPS URL then you'll first need to purchase and configure an SSL certificate on your server.
sudo cp scripts/server/ssl.conf /etc/apache2/sites-available/default-ssl.conf
vim /etc/apache2/sites-available/default-ssl.conf
Update the domain, admin and SSL path values to suit your information and the locations of your certificate files.
sudo service apache2 restart