Learning Django REST Framework Overnight - Moringa School Edition

Learning Django REST Framework Overnight - Moringa School Edition

It was the final week at Moringa School, and we were all knee-deep in our capstone projects, building applications from the ground up. My group had chosen to build an API-driven web app, and we started with Flask, the framework we had learned in class. But as the project grew, Flask quickly showed its limitations. We then experimented with Express.js but felt it didn’t suit the complexity we were aiming for. That’s when we landed on Django REST Framework—a tool none of us had formally learned.

But here’s the twist: Moringa School teaches Flask, not Django. So how did we learn Django REST Framework overnight to complete our final project? Let’s dive into the story.

Why Moringa Teaches Flask

At Moringa, the focus is on equipping students with foundational web development skills, and Flask is a great starting point for several reasons:

  1. Simplicity: Flask is lightweight and straightforward, making it easier for beginners to grasp. It doesn’t impose too many decisions on the developer, allowing flexibility in how you structure your code.
  2. Quick to Learn: Flask has a low learning curve, enabling students to get up and running with web applications in a short time.
  3. Focus on Core Concepts: Flask keeps things simple by focusing on HTTP requests, routing, and rendering templates—core concepts that are essential for web development.

The Remote Development Challenge

Working entirely online added another layer of complexity to our project. Our days were filled with:

  • Endless Zoom calls discussing API endpoints
  • Git repositories full of code changes
  • Merge conflicts that tested our patience
  • Late-night Discord debugging sessions
  • WhatsApp messages at 3 AM saying "It works!"

"In the world of technology, comfort zones are where dreams go to die."

This became our mantra as we navigated both technical and collaboration challenges.

The Breaking Point: When Flask Wasn't Enough

"Django REST framework is a powerful and flexible toolkit for building Web APIs, perfect for teams that need to rush to production without sacrificing quality." - Tom Christie, Creator of Django REST Framework

Our P2P lending platform needed:

  1. Multiple User Types - Borrowers seeking loans, Lenders offering funds, System administrators and Risk assessment team
  2. Complex Loan Processing - Credit scoring, Interest calculations, Payment scheduling and Risk assessment algorithms

The 5-Day Sprint: Learning DRF

With just 5 days until presentation, here's how we tackled the challenge:

Day 1: Foundation

  • Immersed ourselves in DRF documentation
  • Set up development environment
  • Planned database architecture
  • Established Git workflows

Day 2: Core Features

  • Built user authentication system
  • Created loan models
  • Set up PostgreSQL database
  • Implemented basic API endpoints

Day 3: Advanced Features

  • Developed loan processing logic
  • Implemented credit scoring
  • Integrated payment systems
  • Built risk assessment algorithms

Day 4: Frontend Integration

  • Connected React frontend
  • Built user interface
  • Implemented real-time updates
  • Created dashboards

Day 5: Testing & Deployment

  • Conducted thorough testing
  • Fixed critical bugs
  • Wrote documentation
  • Prepared deployment pipeline

Tools That Saved Our Project ?

  1. Version Control & Collaboration GitHub for code management, WhatsApp for communication and Trello for task tracking
  2. Development & Testing Visual Studio Code Live Share, Postman for API testing and Thunder Client for API documentation


An Open Letter to Moringa School

Dear Moringa School Administration,

As recent graduates from Tech Titans (Cohort: SDF-PT06) who successfully built a production-ready P2P lending platform, we wanted to share our experience transitioning from Flask to Django REST Framework (DRF). While we deeply appreciate Flask's role in teaching us the fundamentals, our capstone project revealed the significant advantages of DRF in building complex, real-world applications.

Here's why we believe integrating DRF into the curriculum would benefit future students:

Industry Alignment:

  • Many Kenyan tech companies already use DRF
  • Higher demand for DRF skills in job listings
  • Better salary prospects for developers with DRF experience

Technical Advantages:

  • Built-in authentication and authorization
  • Automatic API documentation
  • Robust security features
  • Scalable architecture capabilities

Learning Benefits:

  • More structured learning path
  • Industry-standard best practices
  • Comprehensive documentation
  • Active community support

Career Preparation:

  • Ready for enterprise-level development
  • Faster onboarding in tech companies
  • More competitive in the job market

Our suggestion would be to maintain Flask for fundamental concepts while introducing DRF for advanced projects and capstone modules. This dual approach would give students both the foundational knowledge and the practical skills needed in today's job market.

Best Regards,

Tech Titans

Cohort: SDF-PT06

Moringa School, Class of 2024

Looking Forward

We're now expanding the platform with:

  • Mobile app development
  • AI-powered risk assessment
  • Blockchain integration

https://jengafunds.vercel.app/

Gregory Mikuro

AI/ML Engineer

4 个月

I’m genuinely impressed by how you all tackled such a steep learning curve and adapted to Django REST Framework on the fly. This project truly shows the power of resilience and innovation—congratulations on the accomplishment! ??

cynthia otara

Full Stack Developer | Digital Marketer: JavaScript ? React ? Python ? Flask. Node Js. Django. API design and Development | Building data-driven web applications.

4 个月

Indeed, it's not always easy to start but the progress of every Sprint building the product taught us something new,while building the app, in every step we were very eager to see its production side and thankfully it was a success!P2P Lending app!

Wilson Kabangi

Web Developer | Proficient in HTML, CSS, JavaScript | Expert in ChatGPT Integration | Turning Ideas into Dynamic Digital Experiences

4 个月

Sehr informativ

要查看或添加评论,请登录

Einstein Mokua的更多文章

社区洞察

其他会员也浏览了