Skip to content

nirmeet-baweja/access-denied

 
 

Repository files navigation

Final Project Created for Coode Your Future Full Stack Web Development Program

Intro

It is a group project that was created for the completion of the Full Stack Trainee Program. It is a Class Attendance Register Application, that allows the class instructor to mark the attendance of the students. It has two user journeys i.e. Admin and Volunteer. Volunteers have access to following features -

  • Create a new class.
  • Mark if thae students were present, had their cameras on, or if they faced any tech issues etc during the class.
  • See the class report or the summary for their assigned cohort.

The admin has access to all the volunteer privileges and some additional features such as -

  • Ability to create a new Student / Volunteer whenever a new user joins CYF community and assign them to their respective cohort.
  • Have access to all the cohorts.

Demo Video & Google Slides

Tech Stack

Deploy to Heroku

Setup

Pick one member of the team to own the repository and pipeline. That person should do the following:

  1. Click the "Use this template" button above (see GitHub's docs) to create your team repository, select "Include all branches" and name it something appropriate for your project.
  2. In your new repo, go to "Settings", then "Branches", then switch the default branch to postgres (optional: you can now delete the old master branch and rename postgres to master, main or whatever else you'd like) - see GitHub's docs again
  3. In your repo, click the "Deploy to Heroku" button at the top of the README and create a Heroku account when prompted.
  4. Fill in the name of the application, select Europe and then click "Deploy App".
  5. Once it has deployed successfully, click the "Manage app" button to view the application details.
  6. Go to the "Deploy" tab, select "Connect to GitHub" and choose your repo.
  7. Click "Enable automatic deploys".

Whenever you commit to master (or e.g. merge a pull request) it will get automatically deployed!

You should now make sure all of the project team are collaborators on the repository.

Steps to setup the database with the dummy data on your local machine

Pre-requisite - You should have postgreSQL installed and setup on your local machine.

  • Run the command npm ci, to ensure that you have all the required packages installed.
  • Ensure that you have a database named "cyf", already created on your local machine. If not run the command createdb cyf on the terminal.
  • Run the command npx knex migrate:latest. It should import 7 migrations.
  • Then run the command npx knex seed:run.
  • Your database should be setup now.

Scripts

Various scripts are provided in the package file, but many are helpers for other scripts; here are the ones you'll commonly use:

  • dev: starts the frontend and backend in dev mode, with file watching (note that the backend runs on port 3100, and the frontend is proxied to it).
  • lint: runs ESLint against all the JavaScript in the project.
  • serve: builds and starts the app in production mode locally.

Debugging

While running the dev mode using npm run dev, you can attach the Node debugger to the server process via port 9229. If you're using VS Code, a debugging configuration is provided for this.

There is also a VS Code debugging configuration for the Chrome debugger, which requires the recommended Chrome extension, for debugging the client application.

Troubleshooting

See the guidance in the wiki.

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 85.9%
  • CSS 12.9%
  • Other 1.2%