one-zero-eight / website

Website of InNoHassle ecosystem
https://innohassle.ru
MIT License
7 stars 3 forks source link
innohassle nextjs react typescript

InNoHassle

Website | InNoHassle ecosystem

https://innohassle.ru

Lines of Code Bugs Vulnerabilities

Table of contents

Did you know that GitHub supports table of contents by default πŸ€”

About

There are several services in the InNoHassle ecosystem for Innopolis University students. You can access some of them through the InNoHassle website.

The website uses the API of InNoHassle services: Events, Music Room, Search.

Services

More features

Technologies

Development

Getting started

  1. Install Node.js 20+, pnpm
  2. Install dependencies: pnpm install
  3. Set up pre-commit hooks (for formatting and linting): pnpm run prepare
  4. Copy environment variables file: cp .env.example .env.local
  5. Edit variables in .env.local if you want to use a different API server

    Do not change the ID of the trackers so that they are not enabled in development

  6. Set up your IDE to autoformat code with Prettier and use ESLint

When the API types change, run pnpm run generate-api to generate new client types and functions.

Run for development

  1. Start development server: pnpm run dev
  2. Open in the browser: http://localhost:3000

    The page will be reloaded when you edit the code

To access API from local server, you have to set up a https proxy from 'local.innohassle.ru':

  1. Install Docker and Docker Compose
  2. Run docker-compose up -d in the root of the project
  3. Add 127.0.0.1 local.innohassle.ru to your /etc/hosts file
  4. Access the website from the local server using the URL https://local.innohassle.ru
  5. This will redirect all requests to http://localhost:3000, so don't stop your development server
  6. To stop the proxy, run docker-compose down

Run for production

  1. Build the application: pnpm run build
  2. Run the production-like server: pnpm run preview
  3. Open in the browser: http://localhost:3000

Contributing

We are open to contributions of any kind. You can help us with code, bugs, design, documentation, media, new ideas, etc. If you are interested in contributing, please read our contribution guide.