Skip to content

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<<<<<<< HEAD

Student-Project-Tracker Web APP

A simple FastAPI web application for registering students and tracking their weekly progress during the Cloud Native Series.

Key Features:

  • 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.

📦 Prerequisites

  • Python 3.10+
  • Git
  • MongoDB Atlas account (to get your connection string)

💻 Local Development Setup

1. Clone the Repository

git clone https://github.com/chisomjude/student-project-tracker.git
cd student-project-tracker

2. Create Virtual Environment & Install Dependencies

python3 -m venv venv
source venv/bin/activate  # On Windows use: venv\Scripts\activate
pip install -r requirements.txt

3.Db Conenctions

  • navigate to app/main and update vault ip :
   export VAULT_TOKEN=

4. Run the Application Locally

uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

Visit http://vmip:8000 to see your app in action.


🐳 Docker Instructions

1. Build Docker Image

docker build -t student-tracker .

2. Run Docker Container

docker run --env-file .env -p 8000:8000 student-tracker

3. Push to Docker Hub

Ensure you're logged in:

docker login

Tag and push your image:

docker tag student-tracker your-dockerhub-username/student-tracker

docker push your-dockerhub-username/student-tracker

📬 API Endpoints

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

🌐 Deploying to Cloud (Optional)

You can deploy the app on platforms like:

  • Render
  • Railway
  • Fly.io
  • Azure App Service
  • Elastic Beanstalk or more

👩🏽‍💻 Built for the Cloud Native Series by Chisom

This project is used for learning cloud-native tools and Handson-Project.

Feel free to fork and extend it!

Student_Tracker_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

About

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.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages