8000 GitHub - skunkworks-academy/Classrooms: Classrooms for Skunkworks Academy's Members, Students and Customers
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

skunkworks-academy/Classrooms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

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

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

0