Skip to content

LabConnect-RCOS/LabConnect-Backend

Repository files navigation

Contributors Forks Issues Pull Requst Apache 2.0 License Activity Stargazers

Table of Contents
  1. About the project
  2. Prerequisites
  3. Installation
  4. License

About

LabConnect Logo

LabConnect

Connecting students to research opportunities.

Built With

Python HTML CSS JS Flask Bootstrap React Node.js Tailwind CSS

Prerequisites

  • Clone or fork the repo
    • GitHub Desktop: download here
    • Clone repo through with git
    $ git clone https://github.com/LabConnect-RCOS/LabConnect-Backend.git
    • To fork, press the fork button on the top right of the repo, or here
  • Install Python 3.12.4 here
  • Install Libraries
    • Download through the command line
    $ python3 -m pip install -r requirements.txt

Testing

  • Run pytest

    • Run all the test files and generate a coverage report. Coverage reports are setup to output to the terminal and provide an HTML file that can be viewed to show what branches or statements are not covered. It is in the project's best interest to have high coverage to ensure all statements and branches work as expected.
    $ make test

    or manually

    $ python3 -m pytest

    or manually with a coverage report generated

    $ python3 -m pytest --cov

Development

  • Run flask with python directly

    • Run all the test files
    $ make develop

    or with Makefile

    $ python run.py

Deployment

Create PRs to release branch, upon merge a new docker container will be created and pushed. This will be planned for weekly pushes on Tuesdays.

Production

Use the docker container in the packages tab. You can set these environment variables:

  • SECRET_KEY
  • JWT_SECRET_KEY
  • FRONTEND_URL
  • DB
  • Run gunicorn to test how the service runs in production
    $ make run
    or with Makefile
    $ gunicorn run:app -w 6 --preload --max-requests-jitter 300 --bind 0.0.0.0:8000

Project Contributors

Running list of contributors to the LabConnect project:

Project Lead

  • Rafael Cenzano [Project Lead]

Rensselaer Center for Open Source Development Team

  • Siddhi W [Frontend / Backend]
  • Mrunal A [Frontend / Backend]
  • Sarah W [Backend]
  • Ramzey Y [Backend]
  • Will B [Frontend]
    • Sidarth E [Frontend]

Past Rensselaer Center for Open Source Development Team

  • Abid T [Frontend / Backend]
  • Nelson [Backend]
  • Duy L [Database Systems]
  • Yash K [Frontend]
  • Sam B [Scraping / Integration]

Special Thanks

We extend our special thanks support and opportunity provided by the RCOS community.

License

Distributed under the Apache License. See LICENSE for more information.

About

Centralized website for people to post and find lab and research opportunities on campus

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Languages