A full-stack course item manager built with React, Django, and SQLite during my RivanCyber internship.
Item Manager lets you create, view, and track your courses as you learn Django. The React front-end consumes a Django REST API, persisting data in SQLite.
-
Course CRUD
Create, read, update, and delete course entries with title, description, and completion status. -
Progress Tracking
Mark courses as “in-progress” or “completed” and filter your list accordingly. -
RESTful API
Django REST framework exposes endpoints for all operations. -
Responsive UI
Dynamic React interface with real-time updates and form validation.
- Front-end: React, JavaScript, HTML5, CSS3
- Back-end: Django, Django REST Framework, Python 3
- Database: SQLite3
- Styling: Tailwind CSS
git clone https://github.com/leighTOR/item_manager.git
cd item_managercd backend
python3 -m venv venv
source venv/bin/activate # on Windows: venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserverThe API will be available at http://localhost:8000/api/.
cd ../frontend
npm install
npm startThe React app will open at http://localhost:3000/ and proxy API requests to the Django server.
-
Add a Course Click “Add Course”, fill in the form, and submit.
-
Edit or Delete Use the “Edit” button to change details or the “Delete” button to remove a course.
-
Toggle Status Click the status checkbox to mark as “in-progress” or “completed.”
-
Filter & Search Use the filter dropdown and search bar to find courses quickly.
item_manager/
├── backend/ # Django REST API
│ ├── manage.py
│ ├── requirements.txt
│ ├── item_manager/ # Django project settings
│ └── courses/ # Django app (models, views, serializers)
└── frontend/ # React client
├── public/
│ └── index.html
├── src/
│ ├── components/ # CourseList, CourseForm, etc.
│ ├── api.js # Axios setup
│ └── App.js
├── package.json
└── README.md # React-specific notes
- Fork this repo
- Create a feature branch (
git checkout -b feat/YourFeature) - Commit your changes (
git commit -m "Add awesome feature") - Push to your branch (
git push origin feat/YourFeature) - Open a Pull Request
Please include screenshots for any UI changes and update this README with relevant details.
For educational purposes only.
These pages are deliberately designed to look like real banking sites—do not deploy them publicly or use them to collect data. Always practice safe browsing habits and report suspicious sites to the proper authorities.


