Skip to content

GT Lost and Found is a service that allows GT students and faculty to find their lost items around GT campus.

License

Notifications You must be signed in to change notification settings

rkhalil38/gt-lost-and-found

Repository files navigation

GT Lost and Found

GT Lost and Found is a web service that allows GT students and faculty to locate their lost items around campus.

📃 License & Copyright Notice

GT Lost and Found and all modifications are licensed under the AGPL v3.0 license.

Original Work

Copyright © 2024 Romulus Khalil (romuluskhalil3@gmail.com)

🚀 Overview

The app is a NextJS 13 application (built using create-next-app). GT Lost and Found is written in TypeScript and uses Tailwind CSS for styling. GT Lost and Found uses Supabase (a PostgreSQL alternative to Firebase) as its primary database and authenticator. Supabase utilizes Cookie-based authentication, meaning user's credentials are stored in cookies upon login.

💻 Running Locally

Required Software

  • Node.js (any recent version will suffice)
  • Node Package Manager (NPM) version 10.4 or later

Important API Key Notice

  • For the maps to properly display, a Google Maps API Key is required
  • All other required API keys are supplied in .env.example

Managing Dependencies and Environment Variables

After the repository is cloned to your local machine, run the following command in the repo folder:

npm install

Then run this command to copy the contents of .env.example to .env:

cp .env.example .env

Running the App

To start a local development version of the frontend app, run:

npm run dev

The app will then become viewable at http://localhost:3000, which can then be viewed in the browser.

With that, any changes in the frontend code should be hot-reloaded to localhost.

‼️ WARNING

When running the program, Next may throw errors in the bottom left relating to the Google Maps API. These can be safely ignored. In strict mode, React renders components twice upon the initial page load. This can cause some weird behaviors with the useEffect hook, throwing the errors. For more information, click here.

Linting and Formatting

GT Lost and Found uses ESLint for linting and formatting through Prettier. Husky is used to create hooks that automatically lint and format code pre-commit.

😀 Contributing

GT Lost and Found welcomes contributions from anyone! Regular development is performed by the project owner (Romulus Khalil) but contributions are still encouraged. There is no set guide on how to contribute just yet but expect one in the future!

About

GT Lost and Found is a service that allows GT students and faculty to find their lost items around GT campus.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages