- Download and install the latest version of Node from here.
- This project was compiled on npm version 8.19.2, make sure you are using this version.
- After cloning the repo into a location of your choice, navigate to the root directory of the folder in terminal "./CASA"
- Run
npm install npm@8.19.2to install all the required dependencies - Setup a
.envfile as described in the other information - Use
npm startto run the application.- Verify that it works by navigating to localhost:3000 in your web browser. Note, this should automatically open
npm start - launches both frontend and server applications in the same command window
npm run server - launches explictly the server in a dynamic window, which enables re-loading automatically on save
npm run frontend - launches explicitly the frontend in a dynamic window, which enables re-loading automatically on save
test: Runs server-side testsfrontendTest: Runs React.js tests for frontendstart: Concurrently runs both the server and the frontend scripts. Mostly for deployment purposesserver: Navigates into the server directory and runs the server using 'nodemon'frontend: Navigates into the frontne directory and runs the default react run scriptbuild: Runs the react build for productioninstall: Installs all dependencies for both React and Server packages
- Server-side documentation is located in SERVER.md inside of the Server Folder
- Frontend documentation is located in the FRONTEND.md inside of the Frontend Folder
- Database documentation is located in the DATABASE.md inside of the Database Folder
An environment file (.env) is useful for setting up credientials and secrets without having to push them to the remote where they could be seen by others. This repository is configured to ignore .env files.
- Create file within the root directory named
.env - Inside this file, there are two required fields, the username and password. This information will be given to you by the Database administrator. (NOTE if you are not given a username and password, or you were given the MongoDB login, create an admin login in the data base and use the Username and Password from that in the .env file)
- Firstly, create the
USER_NAMEfield. (USER_NAME=<username>) - Secondly, on a new line, create the
USER_PASSWORDfield. (USER_PASSWORD=<password>) - Finally, add optional vars using the syntax
VAR_NAME=<var_value>DATABASE: The database the server will use. Default istestPORT: The port the server will run on. Default is3001
- Server Testing Tutorial: Testing Node.js API with Mocha and Chai
- Useful Markdown Formatting: Basic Syntax | Markdown Guide
- Color Palette: In an effort to be an accessible website, our color palette uses a variety of hues that are designed to still be visible to people with all forms of colorblindness. In order of bluest to redest:
- #648FFF
- #785EF0
- #DC267F
- #FE6100
- #FFB000
- Implement Quiz Names
- Key files: Quiz.js, server.js, StudentTakeAssessmentContent.js
- Implement Login Persistence
- Key files: All Frontend files requiring a full refresh instead of an overlay. (Login.js is the beginning)
- Implement Semi-automatic pulling of data from National Database to enable Cybertexas to setup teams for new seasons easier
- Key files: server.js, Admin.js
- Mentor Home Table should moved to the Admin Page. It should not be inside the Mentor Page
Originally written by Gabriel Manners, Larry Green, Amanda Choi, Linh Nguyen as part of Trinity University's Senior Software Project - Fall 2022
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.