CSE 312 Group Project
A Learning Management System (LMS) designed to have ease-of-use and basic professor/student interactions.
After signing up and logging in you can update your profile picture by right clicking your name in the top right corner and navigating to account settings
Click the cookie in the top left corner to be brought back to the create classroom screen.
Create a new classroom and then click on the name of your newly created classroom and pick either of two options as both are WebSocket driven.
Our app is deployed at the link above ^
After signing up and logging in you can create a classroom followed by clicking on the new classroom name. Start a game by clicking 'Class Game' and then 'Start'. The rounds are timed and this is displayed to the users in real time using websockets.
Implementated as specified in the handout.
Implemented ReCaptcha to verify that users are created by humans and not bots.
- Navigate to this link (public deployment).
- Register an account with a valid username/password, without clicking ReCaptcha.
- Click register and verify that you are given an error about not doing ReCaptcha.
- Enter the same username and password for registering again, click ReCaptcha.
- Click register and verify that you are registered.
- Log in with account you just registered, without clicking ReCaptcha.
- Click login and verify that you are given an error about not doing ReCaptcha.
- Log in with account again, click ReCaptcha.
- Verify that you were redirected to the classrooms page indicating a successful login.
- Clone this repo, go to branch of choice (
mainis production,devis close to production). - Create an environment file [
.env] in root directory with contents:
MONGODB_URI=mongodb://database:27017/
DB_NAME=the_cookie_jar
- Run server with Docker from base directory with command
docker compose up --build --force-recreateand expect:
cookie_lms | Checking availability of database:27017
cookie_lms | ...
cookie_lms | Host database:27017 is now available
cookie_lms | ...
cookie_lms | -----------------------------------
cookie_lms | the_cookie_jar server is running...
cookie_lms | -----------------------------------
cookie_lms | ...
- You may now go to
http://localhost:8080/on your webbrowser and interact with the server.
| Folder | Description |
|---|---|
| cmd | Applications that make use of pkg libraries. |
| docs | Any documentation related to the project. |
| pkg | Our libraries used in the project. |
| public | Files to send to clients based on requests (i.e. the webpage, CSS, etc.) |
Note: main.go is the only application not located in cmd folder, this is because it is the main server application that is expected to interact with clients for production purposes.