Skip to content

A web app for Northeastern faculty and merit committee to log and appraise their extra-curricular activities.

Notifications You must be signed in to change notification settings

sandboxnu/faculty-activity-tracker

Repository files navigation

Faculty Activity Tracker Logo

Faculty Acivity Tracker ("FAT") is a dashboard-driven app to be used by the faculty and merit committee of Northeastern College of Arts, Media and Design (CAMD) at Northeastern University to log and view their extra curricular activities. Faculty members report their extra curricular involvement through their view of the app, and merit committee reviews and scores all submissions through their dashboard.

Features

Deploy!

Deploy the entire project sans database with Vercel:

Deploy with Vercel

Screenshots

Project structure

.
├── prisma
│   └── schema.prisma
├── public
│   └── media/
├── src
│   ├── client/
│   ├── components/
│   ├── middleware.ts
│   ├── models/
│   ├── pages/
│   ├── services/
│   ├── shared/
│   ├── store/
│   └── styles/
  • prisma/ - Prisma-related files, including schemas and seed scripts.
  • public/- Static content, including any images used in app.
  • src/
    • client/ - Functions for making calls to API.
    • components/ - React components used in the frontend pages.
    • middleware.ts - Middleware for authentication (protecting routes).
    • models/ - Type definitions for models, dtos, and any other necessary types.
    • pages/ - Contains all pages/routes for both frontend and backend (uses the Pages Router).
    • services/ - Functions for interacting with Prisma/database.
    • shared/ - Various shared items, including components and utils.
    • store/ - Redux store logic.
    • styles/ - Any necessary stylesheets.

Running Locally

Before you start you will need the following:

  1. Clone the repo.
git clone [email protected]:sandboxnu/faculty-activity-tracker.git
cd faculty-activity-tracker
  1. Install the necessary dependencies.
npm install
  1. Configure the .env file by following the template in .env.example. See Setting up the environment.

  2. Run the docker container.

docker compose up -d

Note: The docker-compose.yml file sets the POSTGRES_USER as "sandbox", POSTGRES_PASSWORD as "chongus", and POSTGRES_DB as "fat" by default.

  1. Sync your database.
npx prisma migrate dev
  1. Run the application.
npm run dev

Open http://localhost:3000 with your browser to see the results!

Setting up the environment

  1. Create a new file called .env or copy the .env.example and rename it to .env.
cp .env.example .env
  1. Complete the file to add your environment variables.
DATABASE_URL="postgresql://sandbox:chongus@localhost:5432/fat?schema=public"

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

NEXTAUTH_SECRET=

To generate GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET, see Setting up OAuth 2.0. To generate a new NEXTAUTH_SECRET, run the following command in your terminal and add it to the .env file.

openssl rand -base64 32

About

A web app for Northeastern faculty and merit committee to log and appraise their extra-curricular activities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages