I created this project as part of my application for the Web Development Intern position at UNDP. The idea was to turn the internship description into a live website. I used Drupal CMS to build the site, Docker for containerization, and Heroku for deployment for this project. I also set up CI/CD pipelines to automate everything.
In this project, I showcased my skills in managing complex web development tasks, using DevOps practices, and creating a solid, scalable solution for a global organization like UNDP. By including essential features like content management, responsive design, and security, I've made a platform that's easy to maintain, secure, and ready for future enhancements.
Challenges
1 - Learning Drupal from Scratch
One of the biggest challenges I faced during this project was that, even though I was familiar with popular web development stacks, Drupal wasn’t one of them. I had to start learning Drupal from scratch, which was a bit overwhelming at first. But after a few days of dedicated study and practice, I managed to set up my very first Drupal project.
2 - Dockerizing the Project
The next challenge I ran into was dockerizing the project. Trying to get Heroku, Docker, and Drupal all working together was challenging. I faced many errors and wasn’t really sure what to do next. After researching more about the issue, I discovered Wodby, which offers a pre-configured Docker image for Drupal. Using this image, I was finally able to deploy my project on Heroku.
3 - Customizing the Olivero Theme
I encountered another challenge when I needed to customize the default Olivero theme in Drupal. The process wasn't as easy as I expected. After further research, I discovered Asset Injector, a Drupal module that enables users to inject custom CSS into the template. With this tool, I was able to finally personalize the theme exactly as I needed.