Building Course Assist: Part 1
Course Assist as a whole consists of 3 parts, 2 mobile apps (a user app and an expert app kind of the way uber has a main app and a driver) and a backend which is all the server-side code and database. It's been about 3 months since I last ran any of these apps so as a first step I decided to start them up and see where exactly I ended last time and also get a clear idea of what is left to do to create a clear plan for finally completing this project.
I started with the backend which is built with Django which is a Python framework just in case you didn't know. I tried starting up the server and got a mile of errors, something about the database not being able to connect. I then realised this was because the last time I did work on the backend I was deploying it to Heroku so I changed some things in the database settings. I quickly then reverted to the original database settings, updated PostgreSQL, started a new database and reconnected it. Just in case you're wondering why I'm still working on the backend despite deploying to Heroku is because a few months ago Heroku got rid of its free plan which my backend was unfortunately deployed to, because of this and the fact that I also learnt a little AWS I decided to completely change hosting providers to AWS. Thus I'm back working on the backend.
Next, I tried running both apps, the user app and the expert app which are built using React Native. The expert app worked fine with everything still where I left it but the user app was not as cooperative. I found an array of errors which I later found out were caused by some of the 3rd party packages I use in the app which aren't compatible with the version of Expo I had just upgraded to🤦🏾♂️. Long story short I had to upgrade and downgrade some packages which hopefully won't come bite me in the neck later🙂.
Once everything was up and running the way it was supposed to I tested the apps and they all worked, I also managed to compile a list of tasks remaining to do some of which include:
- Enabling real-time data transfer (using sockets)
- Adding chat functionality
- Adding forms for user registration
- Building a system for approving registered user
- Testing the payments system
- Creating a landing page
- Setting up accounts for the Google play store and Apple app store
-Deploying to AWS
This list is made of the largest tasks remaining to be done, hopefully by the end of the week next week, I would have completed most if not all of the tasks listed above. Thank you for reading and enjoy your weekend.