I finally released my project Cygora (www.cygora.com), a social platform which allows to organize any kind of meeting by any user in his city.
My project is a brand new site in its genre, because it allows an huge flexibility for the end user and is 100% focused on the organization management, by allowing the definition of participation rules, like gender, age of subscribers, max number of participants and more. The site is developed with the main goal of being user-friendly and to offer the opportunity to find interesting (and even crazy) activities to do with other people.
From a technical perspective, I consider it an extremely important milestone for my career as a developer, because I used several interesting technologies (Python, Django, PostgreSQL, RabbitMQ, Celery, Redis, git, virtualenv, pip, AngularJS, Bootstrap…) and I configured a modern software architecture for a web project, by using Amazon Web Services (AWS). This should allow me to easily and automatically scale my app both horizontally than vertically. I also used cool tools like New Relic and Loggly, in order to monitor my app and to discover what’s going on on my EC2 instances.
I’m very proud of the work I’ve done, but obviously this is just the beginning and I have to continue in this direction if I hope to become a future web entrepreneur! :)
These are the current numbers of Cygora:
400 Unit tests written (This does not make the project bug-free, but working in TDD helped me a lot in fast fixing during my continuos refactoring… indeed the way to go!)
1400 Versioned files (many classes, short methods, DRY approach)
300 Commits on the git repository
14 (Django) Apps to distribute responsibilities across the project
3 Developed libraries (at least) that I can potentially release as open source projects in the future (a simple newsletter app, a mini framework to dynamically create translations model classes based on app languages, a mini framework which allows to add comments to any model in a Django app)
9 MB Of deployable source code (including static assets)
100+ Deploys to test the release cycle
2 Initial localizations for the application (English and Italian)
1 Year of hard work in the night and weekends (in which apart from the development of Cygora I learned: Python, Django, RabbitMQ, Celery, AWS and much more)