Skip to content

FemurPractises is a web app for medical students who want to find places to undertake practises or internships. The app is being developed as an engineering project for an engineering thesis at the end of an Computer Science university course.

Notifications You must be signed in to change notification settings

Timoth26/FemurPractices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🩺 FemurPractices

FemurPractices is a web application designed for medical students looking for places to complete their practical training and internships. This project is being developed as an engineering thesis at the end of a Computer Science university course.

📸 Application Screenshot

Application Preview


🚀 Quick Start with Docker

📋 Prerequisites

⚡ Running the Application

# Clone the repository
git clone https://github.com/Timoth26/FemurPractices.git
cd FemurPractices

# Start the application
docker-compose up --build

🌐 Access the Application

Service URL Description
🎨 Frontend http://localhost:3000 React Interface
🔧 Backend API http://localhost:8000 Django REST API
👨‍💼 Admin Panel http://localhost:8000/admin/ Django Admin
🗄️ Database localhost:5432 PostgreSQL

🛠️ Useful Commands

# Run in background
docker-compose up -d

# Stop the application
docker-compose down

# Rebuild containers
docker-compose up --build

# View logs
docker-compose logs -f

# Backend logs only
docker-compose logs -f backend

# Frontend logs only  
docker-compose logs -f frontend

👤 Creating Admin Account

# Create Django superuser
docker-compose exec backend python manage.py createsuperuser

🗄️ Database Management

# Run migrations
docker-compose exec backend python manage.py migrate

# Create new migrations
docker-compose exec backend python manage.py makemigrations

# Access Django shell
docker-compose exec backend python manage.py shell

🏗️ Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Frontend      │    │    Backend      │    │   Database      │
│   React         │◄──►│   Django REST   │◄──►│   PostgreSQL    │
│   Port: 3000    │    │   Port: 8000    │    │   Port: 5432    │
└─────────────────┘    └─────────────────┘    └─────────────────┘

🔧 Technology Stack

Frontend:

  • ⚛️ React 18
  • 🎨 Tailwind CSS + Bootstrap
  • 📡 Axios (HTTP client)
  • 🔐 JWT Authentication
  • 🧭 React Router

Backend:

  • 🐍 Django 4.2
  • 🔌 Django REST Framework
  • 🔑 SimpleJWT (authentication)
  • 🌐 CORS Headers
  • 📁 Media file support

Database:

  • 🐘 PostgreSQL 15

DevOps:

  • 🐳 Docker & Docker Compose
  • 📦 Multi-stage builds

📁 Project Structure

FemurPractices/
├── 📁 backend/                 # Django REST API
│   ├── 📁 app/                 # Main app (internship offers)
│   ├── 📁 authentication/      # User management system
│   ├── 📁 backend/            # Django configuration
│   ├── 📁 media/              # Uploaded files (CVs)
│   ├── 🐳 Dockerfile          # Backend container
│   └── 📄 requirements.txt    # Python dependencies
├── 📁 frontend/               # React SPA
│   ├── 📁 public/             # Public assets
│   ├── 📁 src/                # React source code
│   ├── 🐳 Dockerfile          # Frontend container
│   └── 📄 package.json        # Node.js dependencies
├── 🐳 docker-compose.yml      # Container orchestration
└── 📖 README.md              # This file

🎯 Features

👩‍🎓 For Students:

  • 📝 Registration and authentication
  • 🔍 Search internships with filters
  • 📋 Apply to opportunities
  • 📄 Upload and manage CV
  • 📊 Track application status

🏥 For Healthcare Facilities:

  • 🏢 Employer registration
  • ➕ Create internship offers
  • ✏️ Edit and manage listings
  • 👥 Review candidates
  • 📁 Download applicant CVs

🔧 System Features:

  • 🔐 Secure JWT authentication
  • 📱 Responsive design
  • 🌐 RESTful API
  • 📄 Admin dashboard
  • 🗄️ File management

About

FemurPractises is a web app for medical students who want to find places to undertake practises or internships. The app is being developed as an engineering project for an engineering thesis at the end of an Computer Science university course.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published