NCU-Plus / ncuplus

NCU+ website.
https://ncuplus.ppodds.cc
GNU Affero General Public License v3.0
8 stars 4 forks source link

NCU+

Introduction

NCU+ is a course feedback website for National Central University students. Allow students to view or submit their course feedbacks.

Features

Development

You must install pnpm first. If you have not installed it, please install it first.

npm install -g pnpm

Install dependencies:

pnpm i

Set environment variables:

# Edit .env file to fit your environment

# frontend
cp apps/frontend/.env.example apps/frontend/.env

# backend
cp apps/backend/.env.example apps/backend/.env
cp apps/backend/db.env.example apps/backend/db.env

Run test database:

cd backend && docker compose up -d --build

Database is bind to port 3306, and Adminer is bind to port 8080 by default.

Start development servers:

pnpm dev

You can view the frontend at http://localhost:3001 and the backend at http://localhost:3000. Frontend will proxy all requests which url starts with /open-api to backend.

Production

Build the application for production:

pnpm build

Locally preview production build:

# server would be started at http://localhost:4000
pnpm start:preview

Testing

Unit Testing

pnpm test

E2E Testing

If databasee is started, you can run e2e tests.

pnpm build:frontend
pnpm start:e2e

# Run the following command if you need to run seeder
pnpm build:backend

# Run cypress test in cypress app
pnpm cypress open

# Run cypress test in terminal
pnpm cypress run

pnpm start:e2e will start a proxy server at http://localhost:4000. It would proxy all requests which url starts with /open-api to backend and other requests to frontend.

License

NCU Plus is AGPL licensed.