Paper: ENSE701 – CISE
Task: Assignment 1B
Group: W207_02
Bradley Chung |
Jason Duong |
Vadim Berezin |
Jack Darlington
The SPEED application is designed to host a searchable database in the form of a web application. The platform hosts key findings and claims from many different articles and allows easy access to summaries of these articles.
For our application stack we are using the following technologies:
- Frontend: React, Next.js
- Backend: Node.js, Nest.js
- Database: MongoDB
Key packages and tools used include:
- Styling: TailwindCSS, RadixUI, ShadcnUI
- Forms: React Hook Form, Zod
- Tables: React Table
The official production version of the SPEED app is hosted and available at https://speed-app-nu.vercel.app
The following infrastructure is being used:
- Vercel: Ephemeral serverless hosting both the frontend and backend
- MongoDB Atlas: MongoDB M0 cluster hosted on AWS
To install and run SPEED on your local machine follow the steps listed below:
Make sure the following dependencies have been installed:
-
Clone the
speed-appmonolithic repository:git clone https://github.com/pink-cute-scotland-donkeys/speed-app.git -
Move into the
frontend/directory:cd frontend -
Install the required packages for the Next.js frontend using your package manager of choice (here I used
npm):npm install -
A single environment variable must be setup for the frontend to be able to make requests to the backend:
echo "NEXT_PUBLIC_API_URL=http://localhost:8787" >> .env -
Congratulations! The Next.js frontend is now set up. Now for the backend.
-
Move into the
backend/directory:cd ../backend -
Install the required packages for the Nest.js backend, again using your favourite package manager:
npm install -
Again, the environment variables must be setup. This step requires you to already have an instance of MongoDB set up, simply replace
MONGODB_URIwith your connection string:echo "JWT_SECRET=YOUR_SECRET FRONTEND_URL=http://localhost:3000 PORT=8787 MONGODB_URI=YOUR_CONNECTION_STRING" >> .env -
Thats it! Following these steps the SPEED app frontend and backend should be set up correctly.
npm run dev
# or
next dev
The frontend is now running on http://localhost:3000 (port 3000 by default)
npm start:dev
# or
nest start --watch
The backend is now running on http://localhost:8787 (port 8787 by default)
The files contained in this repository is the sole work of group W207_02. It is not copied or derived from any other work.
This repository is for educational and academic purposes only and intended for our own submission of the deliverables required by Assignment 1B and is not intended to be copied or used by any unauthorised party.
Group W207_02 take no responsibility of any breaches of academic integrity or plagiarism in regard to this repository.