• Stars
    star
    104
  • Rank 329,498 (Top 7 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 2 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Project Title

WDJ Online Campus WDJ Icon

Overview

The goal of this project is to create an online teaching platform. Where teachers and students can work together from almost any location online.

  • You will learn real world programming skills which are immediately applicable in today's competitive tech industry.
  • Our campus provides students with flexibile, focused and personalized courses for each student.

It's true, I love teaching! So let's hang out with on https://www.youtube.com/c/WebDevJunkie. I stream daily videos teaching you the skills that will help you be succesful. Glad to see you here!

Check out our Initial project goals below, expand for details!

Teachers will be able to create/manage:          - classes
         - course materials
         - announcements
         - calendar events
         - student communications
Students will be able to:          - view and enroll in classes.
         - view, upload or download assignments and course materials.
         - view grades, announcements and calendar events.
         - communicate with teachers.

How to contribute

If you would like to contribute: fork this project and clone it to your local machine.

  1. https://github.com/codyseibert/online-classroom
       - https://docs.github.com/en/get-started/quickstart/fork-a-repo
  2. Ask Cody (Web Dev Junkie) what you can work on in our discord found here: https://discord.gg/MAvSGb3KyK
  3. Please be sure to 1st send a message in the online-classroom channel found on our discord!

Contribution guidelines are located here

Setup

In your terminal

- npm i                         (install project dependencies locally.)
- cp .env-sample .env           (copies .env-sample file to a new local .env file.)
- npx prisma migrate dev        (updates prisma db and syncs data.)
- npm run dev                   (starts the project development server.)
- open http://localhost:3000    (cmd/ctrl + click the link in terminal output to open browser.)

Note: If app is not showing on port http://localhost:3000 Check terminal output
& verify port number. If port is already in use check http://localhost:3001 or 3002, etc...
In an additional terminal tab run Docker:
In an additional terminal tab run Prisma Studio:

Mock User Setup

To test or development this project locally, various user roles are available. Set the following environment variable inside your .env file:

  • NEXT_PUBLIC_MOCK_NEXT_AUTH=true

Setting this env var will add buttons to the footer, allowing you use and s to switch users easily! Watch here to see implementation:

If you have questions or are unfamiliar with NEXTJS auth, please see the NEXT AUTH docs: https://next-auth.js.org/

Prisma

This project uses Prisma for database management.

https://www.prisma.io/docs/

To generate a new migration, run

$ npx prisma migrate dev --name <migration-name>

TRPC

This project uses TRPC for End-to-end typesafe APIs made easy.

NOTE: This project uses TRPC (version 9.26.2). Please make sure you referencing the correct docs version!

Here are the docs for reference if you would like to contribute by migrating from v9 to v10, after v10 is officially released.

Version 10 docs in preparation of future migragration from v9 to v10.

CSS Styling

This project uses Tailwind CSS & Headless UI for styles.

TailwindCSS:

TailwindCSS is a utility-first CSS framework, allowing you to apply styles quickly right in component tags.

The docs are great, simply search for the css style you are trying to apply.

Tip: Search using (cmd/ctrl + k) from anywhere in the docs.

https://tailwindcss.com/docs/

Headless UI:

Headless UI is a component library and was built to intergrate seemlessly with Tailwind CSS. It includes unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.These components are useful when you need a more complex accessible component but don't want to build it from scratch. Thank you in advance for helping us to keep accessibility a top priority!

Here is the reference for HeadlessUI: https://headlessui.com/

NOTE: Be sure to select the React tab when reviewing/using components.

Screenshot showing react selection tab at headlessui.com

Deploying project to Railway:

Recently I walked through deploying this project to Railway.app. Check out the video below.

Changelog:

FAQs:

More Repositories

1

tab-tracker

A Vue.js / Express.js web application for keeping track of guitar tabs
JavaScript
520
star
2

youtube

code from my youtube channel
CSS
385
star
3

vue-calculator

Vue
54
star
4

s3-upload-google-auth

JavaScript
49
star
5

vue-adonis-todo

JavaScript
38
star
6

flashcardsage

TypeScript
34
star
7

vue-tree-browser

Vue
26
star
8

snowball-fight-online

JavaScript
20
star
9

fire-stone-hosting

TypeScript
19
star
10

mern-todo

JavaScript
16
star
11

web3-tickets

JavaScript
16
star
12

websocket-game

TypeScript
15
star
13

pizza-party

TypeScript
14
star
14

omegle-clone

TypeScript
11
star
15

wordpress-quick-start

Shell
10
star
16

agora-video-call

JavaScript
9
star
17

agora-online-chatroom

TypeScript
8
star
18

agora-rtm-vue

Vue
7
star
19

sc2-build-order

TypeScript
7
star
20

agora-help-chat

TypeScript
6
star
21

agora-rtm-react

JavaScript
6
star
22

react-online-chatroom

TypeScript
5
star
23

jknob

JavaScript
5
star
24

github-actions-overview

JavaScript
4
star
25

thumbnail-generator

TypeScript
4
star
26

devtubers

JavaScript
4
star
27

vue-todo

JavaScript
4
star
28

yt-video-ideas

TypeScript
4
star
29

mern-ecommerce

JavaScript
4
star
30

js-connect-four

A connect four project written using javascript + jquery
JavaScript
4
star
31

codeSnippets

Upload your code snippet and other users will improve your code speed and accuracy
JavaScript
4
star
32

setterapp

JavaScript
3
star
33

kubernetes-express-example

Shell
3
star
34

tailwind-practice

TypeScript
3
star
35

codeperfect

Vue
3
star
36

interview-questions

TypeScript
3
star
37

vue-responsive-keyboard

Vue
3
star
38

js-minesweeper

JavaScript
3
star
39

bubblr

JavaScript
3
star
40

pain-tracker

JavaScript
3
star
41

speed-date

TypeScript
3
star
42

multiplication-quiz

Vue
3
star
43

github-user-finder

a process that can be used for downloading and viewing all github users
CoffeeScript
2
star
44

chords

HTML
2
star
45

vue-guitar-tabs

JavaScript
2
star
46

clickr

JavaScript
2
star
47

heart-tracker

JavaScript
2
star
48

random

JavaScript
2
star
49

doxgoat

JavaScript
2
star
50

wedding

code for our wedding website
HTML
2
star
51

seibertsoftwaresolutions

HTML
2
star
52

web3-virtual-realestate

JavaScript
2
star
53

zetajs

JavaScript
2
star
54

goblins

random game
JavaScript
2
star
55

webdevpro

HTML
2
star
56

agora-rtm-svelte

Svelte
2
star
57

bazooka

JavaScript
2
star
58

react-testing

TypeScript
2
star
59

setter

Route Management Software for Climbing Gyms
JavaScript
2
star
60

skeleton

skeleton project using Coffeescript, Gulp, and Browserify
CoffeeScript
1
star
61

web3-useless-squares

1
star
62

flyzone

CoffeeScript
1
star
63

testingsomestuff

1
star
64

hollaback

CoffeeScript
1
star
65

livestockmarket

1
star
66

svelte-contact-list-app

Svelte
1
star
67

focus.js

CoffeeScript
1
star
68

shreadr

random html shooter game
CoffeeScript
1
star
69

Mern-Auth

JavaScript
1
star
70

phaser3-pong

JavaScript
1
star
71

elm-journal

1
star
72

js-pong

JavaScript
1
star
73

stackr

JavaScript
1
star
74

linkr

JavaScript
1
star
75

setter-native

1
star
76

jotit

CoffeeScript
1
star
77

vue-markdown-preview

1
star
78

schematic

CoffeeScript
1
star
79

trackit

JavaScript
1
star
80

vue-todo-ts

Vue
1
star
81

responsive-keyboard

JavaScript
1
star
82

typr

CoffeeScript
1
star
83

practice

1
star
84

vue-scrolling-banner

1
star
85

redditr

CoffeeScript
1
star
86

yetanotherthing

JavaScript
1
star
87

elm-connect-four

Elm
1
star
88

robotronic

JavaScript
1
star
89

pantry-tracker

JavaScript
1
star
90

web3-rock-paper-scissors-betting

JavaScript
1
star
91

puppet-codyseibert

puppet module for everything needed on my site
Puppet
1
star
92

vue-express-tab-bucket

JavaScript
1
star
93

refractr

JavaScript
1
star
94

instant-oats

creates a majority of boiler plate code needed for a new web project with angular
JavaScript
1
star
95

elm-tic-tac-toe

Elm
1
star
96

mydoglacy

CoffeeScript
1
star