Django React Capstone Project

Learning

As my capstone for Ada Developers Academy, I have to come up with a project, work on it for three weeks, and then present it in front of real people.  People not just in our classroom… tech people, family, friends, and whoever else wants to see the presentations.

I found that a person in my class and I had a similar idea, so we decided to team up on this project.  There are difficulties to working on a team as well as positive aspects.  The difficulties include taking someone else’s feedback on your code, listening to their opinions, and trying to collaborate and communicate.  If you feel that you can make all of this work smoothly with your teammate, I would recommend working together.  Working on a team or with another person, you can get a lot more work done and get a better final outcome for your project.

Our idea for this project is very close to my heart.  This past year, my grandmother died.  It got me thinking about the elderly.  My grandmother lived at home with my parents but was a relatively independent person except for one thing.  She couldn’t drive.  With a large aging population such as what we have in the United States, what happens when you don’t have relatives who can drive you around, shovel the driveway, or do daily chores.

We decided to make an app to solve this problem for the elderly and their families.  Our app is tentatively named “Mon Ami.”  This is French for my friend.  The idea is for the elderly (or their relatives) to find assistants in the area and make appointments for the services they require.

As a user, you can sign up, log in, and log out.  If you would like to become an assistant, you can set up your assistant profile so that people can find and book appointments with you.

My role on the team was working on the backend API as well as the database.  I had to think a lot about the relationships between my models.  Django-Rest-Framework is an excellent tool.  Their tutorials make it a cinch to set up an API.  It was one of the most enjoyable parts of my project.  After working for a week, I realized that I needed to use PostgreSQL in order to deploy instead of using SQLite3 (the database that is default in Django). One thing that I had a bit of difficulty with was token authentication.  I couldn’t wrap my mind around how the API knows that I am me through a token.  Frankly, it’s amazing.  With authentication, the API knows that I am who I say I am.  I set up my permissions so that I know which person is authorized to do each action.

Deployment was another area that I was having difficulty with.  I was playing around with Docker, but there is a steep learning curve.  After a week, I was finally able to deploy my API with AWS Elastic Beanstalk.

My teammate made a beautiful front-end with React-JS.

I’m in my Ada classroom at this moment, enjoying the final minutes of being a student here.  In three hours, I’ll be presenting my capstone project.  After that, I’m off to Europe for a week and then on to Tableau for my internship.

I can’t thank Ada Developers Academy and my teachers enough.  In August when I arrived, I hardly knew a thing about coding.  Now I’m presenting a fantastic project.  My skills have grown exponentially.

If you ‘d like to see the code for my project, you can find it here.