<<<<<<< HEAD
A simple FastAPI web application for registering students and tracking their weekly progress during the Cloud Native Series.
- Register new students (generates a unique ID).
- Track weekly progress for each student.
- All students use one central MongoDB (hosted on MongoDB Atlas or similar).
- Simple endpoints for registration, status check, and progress update.
- Python 3.10+
- Git
- MongoDB Atlas account (to get your connection string)
git clone https://github.com/chisomjude/student-project-tracker.git
cd student-project-trackerpython3 -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txt- navigate to app/main and update vault ip :
export VAULT_TOKEN=
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reloadVisit http://vmip:8000 to see your app in action.
docker build -t student-tracker .docker run --env-file .env -p 8000:8000 student-trackerEnsure you're logged in:
docker loginTag and push your image:
docker tag student-tracker your-dockerhub-username/student-tracker
docker push your-dockerhub-username/student-tracker| Method | Endpoint | Description |
|---|---|---|
| POST | /register?name=YourName |
Register new student |
| GET | /status/{student_id} |
View registration and progress |
| POST | /update/{student_id}?week=week1 |
Update progress by week |
You can deploy the app on platforms like:
- Render
- Railway
- Fly.io
- Azure App Service
- Elastic Beanstalk or more
This project is used for learning cloud-native tools and Handson-Project.
The Student Project Tracker is a FastAPI web application designed to help students register and track their weekly progress during a Cloud Native learning series. The application features a simple web interface where students can register with their name (generating a unique ID), view their current progress status, and update their weekly achievements. Built with Python and FastAPI, it uses MongoDB for data storage and includes HTML templates for user interaction. The project serves as a practical hands-on component for learning cloud-native technologies - students containerize it with Docker, deploy it on Kubernetes, and integrate it into CI/CD pipelines as part of their learning journey. It's essentially a progress tracking tool that doubles as a real-world application for practicing modern DevOps and cloud-native deployment practices.
origin/main