------------ Hacking Transitions : Blue Ocean -----------
- Access the Hacking Transitions Application hosted on Render.
- To access student portal: student@student.com / "password"
- To access admin portal: admin@admin.com / "password"
- Hacking Transitions Project Board on GitHub
- Hacking Transitions App Wiki on GitHub
- Hacking Transitions ERD
Hacking Transitions is a client commissioned project
undertaken by a small team of 6 software developers using the Agile Methodology
in three 1-week sprints
, with the goal of producing an MVP (minimal-viable-product) for the client
.
The client requests an application to be developed to assist the Galvanize: "Operation Level Up" Military Career Skills Program in helping its students and transition-team-staff with facilitating the logistics behind the student's military-to-civilian transition & course-onboarding.
Application is requested to include:
- login/authentication portal: enables login and authentication for students & admissions staff with a registration feature for new students via registration code; features user password recovery via email
- student portal: allows the student to view/edit/update their transition information & allows the student to directly message admissions staff; allows the student to update their account password
- admin portal: allows the admissions staff to access/track/manage student-inputed information from the student portal and assign/re-assign students to specified cohorts; allows admissions staff to directly message students or entire cohorts; allows admissions staff to maintain a database of archived cohorts/students information; allows admins to create new cohorts with a designated unique registration code; allows admissions staff to create/delete admin accounts; allows admins to update their account password
The application is designed to assist the transition team
at Galvanize in monitoring each student's required tasks, personal goals, and mandatory timelines set forth by their Military Branch of Service regarding their military-to-civilian transition.
-
Galvanize is responsible - per an agreement with the U.S. military - to facilitate and ensure that all students are developing a new technical skill-set full time within their curriculum and completing their military transition obligations.
-
This
application
is designed to keep track of each student attending the Galvanize Software Engineering Program and their transition obligations. -
The
student
is able to login and view and update their information, create/delete personal tasks. Additional helpful resources are avaliable for students at the login page. -
Galvanize staff transition specialists are able to login as an
admin
and are able to add/update/delete/archive cohorts, view and manage student data.
This application uses Next.js as its dedicated Front-end framework
on top of React, while Redux is used for dynamic state management. The app uses the Next.js API that is built into the Front-end framework (see 'pages/api') to query a PostgreSQL Database that stores all relevant application data. Docker is used to containerize the entire application to streamline development and deployment.
Google Firebase is used for login authentication and account creation during registration.
The Bootstrap / React-Bootstrap styling & component library is used for some modals, alerts, etc., and in tandem with traditional CSS styling.
(Note: application directory format is in standard with the Next.js framework convention.)
- Fork / clone down the main branch of this repo
- open your forked/cloned repo within your IDE and install dependencies:
*** from 'HACKING-TRANSITIONS' directory [root directory] ***
npm install
- If you do not have Docker Desktop installed and configured on your PC/Mac, go ahead and install Docker Desktop and configure Docker to be imaged with PostgreSQL.
- View the following documentation for instruction on install/setup: Docker Documentation
- Once you have Docker Desktop up and running, execute the following commands from your IDE terminal:
*** from 'HACKING-TRANSITIONS' directory [root directory] ***
docker compose up --build
- Allow docker compose to complete initialization
- Once complete, you should have a containerized Docker application visible on Docker Desktop called hacking-transitions.
- By clicking the dropdown button on "hacking-transitions", you should be able to see the 3 following containers: hackingTransitions-pgadmin, hackingTransitions-DB, and hackingTransitions-FE.
- Click on hackingTransitions-FE's port number (3000:3000) on Docker Desktop to deploy the application to the browser.
- You should see the following Log-In screen:
- Next, login using the following student or admin demo login email/pass combinations:
student@student.com / password
-------------------------------------- OR ------------------------------------
admin@admin.com / password - You may also register for your own student account using the demo Registration Code: batMan <--- code is case sensitive
"Build.test.js" is a Jest.js test that will test if the Hacking Transitions Application will build correctly using the Next Build command ("npm run build")
- 1.) Run an "npm install" from root project directory
npm install
- 2.) Run "docker-compose up --build"
docker compose up --build
- 3.) CD into the "tests" directory
cd tests/
- 4.) Run "npm test" to test if the app will execute a Next Build without failing
npm test
- Jullian Rives / Kadynce Krank - Login/Authentication/Registration Portal Team
- Dustin Swartzbaugh / Jordan Napoleon - Student Portal Team
- Scott Patterson / Bain Obermark - Admin Portal Team