Building Educational CMS API - Part 1: Project Setup

I started to build an API using Django and I will be documenting all the processes that I go through for myself and maybe others who are interested.
In this article, we'll go through what I have done so far and explain them as we go. Before that let me quickly introduce the project's main goal.
Link to repository: github@khasizadaj/edu_cms_api
Introduction
Educational Content Management System API (from now on edu_cms_api) is going to be an API designed for course creation, student enrollment, quiz administration, and progress tracking.
This reminds me good old Quizzen than I attempted to build few years back... 🥹 It failed successfully :) You can have a look at its still existing LinkedIn page from this link. Those days were amazing!
Updates: Project Setup
At the moment I have only worked on project setup and initial documentation of the project. As I want to experiment further with Django, that's gonna be our web framework of choice. Because I am building an API, djangorestframework library was the man of the show in that regard. It has lots of built-in functionalities that make creating API much easier.
Other changes are development related and they consist of:
poetry: to manage dependenciesmypy: to apply static type checking to the codebaseflake8&black: for linting and code formattingpre-commit: to enforce linting and code formatting before every commitunittest: to test the project (Note: It's a built-in package)python-dotenv: to manage environment variables
You can refer to
REAADME.mdfile of the project to see how you can run the project locally.
Conclusion
This was a summary of the changes I made to the project. From time to time I will come to you with new updates! See you in the next part. Ciao!
References
Comments
Join the discussionNo comments yet. Be the first to comment.
Building Educational CMS API
In this series, I will create Educational CMS API which is gonna be an API designed for course creation, student enrollment, quiz administration, and progress tracking.


