Skip to content

skunkworks-academy/Classrooms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Classroom-Template

License GitHub last commit GitHub contributors GitHub issues

Welcome to the Classroom-Template repository! This repository is designed as a template for the Student User Registry and Management System (SURMS) project. It provides a structured foundation for backend and frontend development, complete with documentation and deployment guides.


Project Overview

The Classroom-Template repository is intended to serve as a starting point for educational projects within the Skunkworks Academy. It includes:

  • A Django backend with REST API capabilities.
  • A React frontend for user interaction.
  • Detailed documentation covering system architecture and deployment.

Features

  • πŸ› οΈ Comprehensive Backend: Built with Django, featuring RESTful APIs and database models for managing student data.
  • 🎨 Interactive Frontend: Developed with React, providing an intuitive user interface for registration and profile management.
  • πŸ“š Extensive Documentation: Includes guides for API usage, system architecture, and deployment processes.
  • πŸ“˜ Course Management: Supports self-paced and instructor-led courses with roles for students, instructors, staff, and customers.

Directory Structure

Here’s an overview of the directory structure:

Classroom-Template/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ requirements.txt
β”‚   β”œβ”€β”€ manage.py
β”‚   β”œβ”€β”€ surms_backend/
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”œβ”€β”€ settings.py
β”‚   β”‚   β”œβ”€β”€ urls.py
β”‚   β”‚   β”œβ”€β”€ wsgi.py
β”‚   β”‚   β”œβ”€β”€ asgi.py
β”‚   β”‚   β”œβ”€β”€ models.py
β”‚   β”‚   β”œβ”€β”€ views.py
β”‚   β”‚   β”œβ”€β”€ serializers.py
β”‚   β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”‚   β”œβ”€β”€ urls.py
β”‚   β”‚   β”‚   β”œβ”€β”€ views.py
β”‚   β”‚   β”‚   β”œβ”€β”€ serializers.py
β”‚   β”‚   β”œβ”€β”€ tests/
β”‚   β”‚       β”œβ”€β”€ __init__.py
β”‚   β”‚       β”œβ”€β”€ test_models.py
β”‚   β”‚       β”œβ”€β”€ test_views.py
β”‚   β”œβ”€β”€ .env.example
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ public/
β”‚   β”‚   β”œβ”€β”€ index.html
β”‚   β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ Header.js
β”‚   β”‚   β”‚   β”œβ”€β”€ Footer.js
β”‚   β”‚   β”‚   β”œβ”€β”€ Profile.js
β”‚   β”‚   β”‚   β”œβ”€β”€ RegistrationForm.js
β”‚   β”‚   β”œβ”€β”€ App.js
β”‚   β”‚   β”œβ”€β”€ index.js
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ .env.example
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ API_DOCUMENTATION.md
β”‚   β”œβ”€β”€ SYSTEM_ARCHITECTURE.md
β”‚   β”œβ”€β”€ DEPLOYMENT_GUIDE.md
β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE

Getting Started

Backend Setup

  1. Navigate to the backend/ directory.

  2. Install the required dependencies:

    pip install -r requirements.txt
  3. Set up your environment variables using the .env.example file.

Frontend Setup

  1. Navigate to the frontend/ directory.

  2. Install the required dependencies:

    npm install
  3. Set up your environment variables using the .env.example file.

Run the Application

  • Start the Django development server:

    python manage.py runserver
  • Start the React development server:

    npm start

System Architecture

Overview

The SURMS application consists of a Django backend and a React frontend. The backend serves as an API provider, managing the database and authentication, while the frontend interacts with the backend via RESTful API calls.

Components

Component Description
Backend Django-based, REST API, PostgreSQL for database management
Frontend React-based UI, state management with hooks
Deployment Backend on Heroku, Frontend on Vercel

System Diagram

Here’s a visual representation of the system architecture:

System Architecture

(Image source: Wikimedia Commons)


Documentation

The repository includes the following documentation to guide you through various aspects of the project:

  • API Documentation: A detailed guide to using the API, located in docs/API_DOCUMENTATION.md.
  • System Architecture: An overview of the system’s components and interactions, found in docs/SYSTEM_ARCHITECTURE.md.
  • Deployment Guide: Instructions for deploying the application on Heroku and Vercel, available in docs/DEPLOYMENT_GUIDE.md.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements, bug fixes, or additional features.

Contributor Guidelines

  • Fork the repository.
  • Create a new branch (git checkout -b feature-branch).
  • Make your changes and commit them (git commit -m "Feature description").
  • Push to the branch (git push origin feature-branch).
  • Open a pull request.

License

This repository is licensed under the MIT License. See the LICENSE file for more details.


Footer Image

About

Classrooms for Skunkworks Academy's Members, Students and Customers

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors