Did you know that GitHub supports table of contents by default 🤔
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.
- 🗓️ Schedule
- 🔍 Check all academic groups, electives, sports sections, cleaning schedules
- 📲 Export schedules to your favorite calendar app on your devices
- 🌟 Add groups to favorites to see them in your personal account
- 🙈 Hide and show groups in your personal account
- 🔄 Choose the format of the schedule - for a day, for a week, or for a month
- 🎵 Music room
- 📅 See all bookings of the music room on a separate page
- 🧐 View your own bookings in your personal account
- 💰 Scholarship
- 📊 Calculate your scholarship based on expected grades or GPA
- 📈 Calculate what grades are needed to get the desired scholarship
- ℹ️ Get detailed information about the types of scholarships at the University
- 🔑 Sign in to your personal account using your student email
- 📚 All relevant academic groups are on your personal dashboard
- 📴 Offline access to the website in case of a bad internet connection
- 🌙 Dark and 🌞 light theme of the interface
- Node.js 20+ & TypeScript
- React & Vite & TanStack Router
- Styling: TailwindCSS, Iconify
- Formatting and linting: Husky, lint-staged, Prettier, ESLint
- Data fetching: Axios, TanStack Query, Orval
- Calendar: FullCalendar, ical.js
- Install Node.js 20+, pnpm
- Install dependencies:
pnpm install
- Set up pre-commit hooks (for formatting and linting):
pnpm run prepare
- Copy environment variables file:
cp .env.example .env.local
- Edit variables in
.env.local
if you want to use a different API serverDo not change the ID of the trackers so that they are not enabled in development
- Set up your IDE to autoformat code with Prettier and use ESLint
When the API types change, run pnpm run orval
to generate new client types and functions.
- Start development server:
pnpm run dev
- Open in the browser: http://localhost:3000
The page will be reloaded when you edit the code
In order to use the API of the production server, you need to change the SameSite parameter of the token
cookie in the browser (set None
).
Then the browser will be able to use the correct token to access the API from the local site.
- Build the application:
pnpm run build
- Run the production-like server:
pnpm run preview
- Open in the browser: http://localhost:3000
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.