All Projects → freecodeschoolindy → student-management-system

freecodeschoolindy / student-management-system

Licence: MPL-2.0 License
Management system for students of our free coding school.

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to student-management-system

UPES-SPE-Fest
An Instagram like Social Networking Android App for UPES SPE Fest using Firebase as backend.
Stars: ✭ 39 (-64.55%)
Mutual labels:  backend
backend
Laravel 8 backend for a genealogy website.
Stars: ✭ 82 (-25.45%)
Mutual labels:  backend
Mentro-Community-Blog
A blogging website for the mentrozens community with topics focused on Web development and Open Source.
Stars: ✭ 26 (-76.36%)
Mutual labels:  backend
flame
Ruby web-framework
Stars: ✭ 43 (-60.91%)
Mutual labels:  backend
onnxruntime backend
The Triton backend for the ONNX Runtime.
Stars: ✭ 40 (-63.64%)
Mutual labels:  backend
commun
🎩 Fully-featured framework for REST APIs and GraphQL from JSON Schema with TypeScript and MongoDB
Stars: ✭ 97 (-11.82%)
Mutual labels:  backend
roll
Roll — backend for Clojure
Stars: ✭ 73 (-33.64%)
Mutual labels:  backend
Arisu
☔ Translation made with simplicity, yet robust. Made with ❤️ in TypeScript.
Stars: ✭ 15 (-86.36%)
Mutual labels:  backend
articlelist
🐣 Filter für Artikellisten
Stars: ✭ 20 (-81.82%)
Mutual labels:  backend
vaadin-stepbystep-demo-contacts
Step by step demo Vaadin 8 app with simple JPA backend
Stars: ✭ 13 (-88.18%)
Mutual labels:  backend
Authl
A library for managing federated identity
Stars: ✭ 20 (-81.82%)
Mutual labels:  backend
gosane
A sane and simple Go REST API template.
Stars: ✭ 81 (-26.36%)
Mutual labels:  backend
SITreg
SAP Event Registration app backend
Stars: ✭ 26 (-76.36%)
Mutual labels:  backend
enterprise-applications-patterns
Collection of enterprise application patterns
Stars: ✭ 17 (-84.55%)
Mutual labels:  backend
analysis-net
Static analysis framework for .NET programs.
Stars: ✭ 19 (-82.73%)
Mutual labels:  backend
bootstrap helper
Bootstrap Helper für REDAXO 5
Stars: ✭ 22 (-80%)
Mutual labels:  backend
upper
Upper is a open source back-end framework based on the Dart language.
Stars: ✭ 39 (-64.55%)
Mutual labels:  backend
pern-stack-auth
📋 Repair. PERN stack todo app with jwt user authentication
Stars: ✭ 17 (-84.55%)
Mutual labels:  backend
grafana-dashboard-dsl
DSL for generating Grafana dashboards
Stars: ✭ 51 (-53.64%)
Mutual labels:  backend
Stackoverflow-Clone-Frontend
Clone project of a famous Q/A website for developers built using MySQL, Express, React, Node, Sequelize 🌐
Stars: ✭ 379 (+244.55%)
Mutual labels:  backend

Student Management System

This is a simple API for:

  • creating a unified interface for keeping track of freeCodeSchool students
  • accounts for students to login and see their own pages
  • admins can login and see everyone via the Django admin interface
  • it will be able to use Github OAuth

About the Program

  • freeCodeSchool is a non-profit coding program that teaches people coding basics for free.
  • It's set up to offer 3-month long classes in two different levels, 1 and 2. When students pass level 1 - HTML, CSS, and JS, they can move onto level 2 - Node, Express, and Mongo.

Table of Contents

Running Locally

  1. Must have Python 3 & Postgres version 12.x installed and running
  2. Clone the repo and cd into repo
  3. Create a virtual environment: python -m venv venv
  4. Go into your virtual environment: source venv/bin/activate
  5. Install dependencies: pip install -r requirements.txt
  6. Create an admin user for logging into the Django admin interface: python manage.py createsuperuser
  7. Setup Database
    1. Create the database: CREATE DATABASE freecodeschool;
    2. Create DB user: `CREATE USER fcs_admin;
    3. Grant privilages to user for our database: GRANT ALL PRIVILEGES ON DATABASE freecodeschool TO fcs_admin;
    4. Run migrations: python manage.py migrate
  8. Run the app: python manage.py runserver
  9. View the API at localhost:8000 and the admin interface at localhost:8000/admin

Requirements

  • Students and Organizers/Admin accounts login using GitHub OAUTH

  • Private Student Profile: Visible to only the user and organizers/admins

    • FreeCodeCamp.org progress page url: freecodecamp.org/codecafecentral
    • Email
    • Discord Name
    • Phone
    • Attendenance (not editable by students)
    • List of labs:
      • Link to the lab starter
      • input field for a link to their completed version
  • Admin Dashboard

Schema

  • User

    • email
    • password
    • groups: student, admin, or volunteer (can only belong to one)
  • StudentProfile

    • first_name
    • last_name
    • preferred_name
    • discord_name
    • github_username
    • codepen_username
    • fcc_profile_url
    • current_level
    • phone
    • timezone
  • Volunteer

    • first_name
    • last_name
    • email
    • hours_available
  • VolunteerHours

    • volunteer: FK
    • start: DateTime
    • end: DateTime
  • Lecture

    • date
    • title
    • description
    • lecturer_name
    • slides_url
    • duration
    • level
    • required: BooleanField
  • Attendance

    • lecture_id
    • student_id
  • Project (labs)

    • title
    • description
    • url
    • level
    • required
  • StudentSubmission

    • student_id
    • project_id
    • url: CharField
    • feedback: TextField (for comments from reviewers)
    • approved: BooleanField
  • StudentCertificate

    • student_id
    • certificate_id
  • Certificate

    • name
    • description
  • Waitlist

    • first_name
    • last_name
    • email
    • notes

API

Prefix: /api/v1

/users

  • get (temporary, only for testing)
  • post

/users/:id

  • get
  • patch
  • delete

/users/:id/profile

  • get

example response:

{
  "user": 6,
  "name": "Daneel Olivaw",
  "bio": "hello there...",
  "preferred_name": null,
  "avatar_url": "http://example.com",
  "discord_name": null,
  "github_username": "rdaneel",
  "codepen_username": null,
  "fcc_profile_url": null,
  "current_level": 1,
  "phone": null,
  "timezone": null
}
  • post

/users/:id/certificates

  • get

/users/:id/assignments

  • get
  • post

/certificates

  • get

/projects

  • get

Roadmap

Version 2

  • Students will be able to have public profiles with this information:

    • First Name
    • Last Name
    • Preferred Name
    • GitHub Username
    • Codepen Username
    • Certificates/Badges
  • Area where volunteers can view their own information and update their hours

    • Create an hours available table for volunteers so they can denote exact hours
  • Set type of lecture (add type field to Lecture model)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].