First hands on django

/gallery/athtechsd/apphomepage.png

A Django web app assigned as team coursework in a course @ Athens Tech College.

The scope of this project is to improve the current procedure followed by entities who wish to apply and receive approval to operate as INSPECTION BODIES for a specific technical field, which allows them to issue certifications for companies operating upon that field.

Currently, procedure followed by entities is as follows:

  1. Apply to Hellenic Accrediation System (E.SY.D) - Εθνικό Σύστημα Διαπίστευσης(Ε.ΣΥ.Δ) for a specific field.
    Application is checked by E.SY.D and entity is granted approval for that field with an expired date. After expiration date entity is due to be recertified.
  2. Along with the previous approval and a dozen required additional documents apply to Greek Ministry of Development.
    The final application is checked and the entity is granted its final approval for that field with an expired date.

As of now, the above procedure takes place by submitting physical documents which eventually get to clustering around offices.
Therefore, a web application to be used by invovled entites would make the procedure a lot easier.


Django was proposed as the framework to be used and due to its popularity and mine eagerness to get my hands on it, I convinced the rest of team to accept it as our implementation tool. While I had previously small experience with Python and Flask which proved to be quite helpfull to get along quickly with Django, the rest of the team had to learn from scratch Python and Django. This led to an initial period of learning and practicing until everyone was confident enough to get the project on track.

Initial requirements can be found on this Requirements file [ gr ]


Three user types were defined:

  1. ‘Φορέας’ - the entity willing to get approval to operate as inspection body.
  2. ‘Yπάλληλος ΕΣΥΔ’ - employee of E.SY.D
  3. ‘Υπάλληλος Υπ.Αν.’ - employee of Ministry of Development

Through the sign up page inspection bodies can sign up, while for the last two groups it was speculated they would be given their accounts.

Initially the application was hosted on Heroku and its free instance of Postgres was used as DB server.
Eventually Heroku was not sufficient enough due to its limitation of his Routers terminating a request that takes longer than 30 seconds, which proved to be the culprit of a timeout issue on a POST request of a form which uploads 13 files.
At its final stage the application was hosted in a personal VM, where the live demo link at the bottom of this page points to.

Current Functionality:

  • Φορέας is able to apply at E.SY.D for a technical field selected from a list of available technical fields.
  • The list of available technical fields can be updated by employers of Ministry of Development.
  • Following the approval of E.SY.D, Φορέας can apply for that field to Ministry of Development. Application requires to upload specific documents. The list of fields available for application to Min. of Development is showing fields that have being approved by E.SY.D for the specific user(Φορέας).

GithubLive Demo