This project has been developed as a part of the exam in web applications 2023 and represents extensive work in React and Next.js. The project consist of three main parts:
- First Assignment: An interactive application to help children with math tasks.
- Second Assignment: A system for monitoring and managing training sessions for athletes.
- Third Assignment: Improvement and documentation of an existing, incomplete codebase.
This project has now been completed as part of the exam in web applications 2023. Given a tight time frame of only four weeks, we focused primarily on developing and implementing core functionalities. While we are happy with what we have achieved under these constraints, there are several aspects we would improve with more time for assignment 2:
- Unit tests.
- Code refactoring.
- Adapted for mobiles.
- Refinement of the User Interfaces.
An overview of the team members that have contributed to this exam/project:
- Stian - Project Manager (GitHub)
- Sam - Collaborator (Github)
- Ash - Collaborator (Github)
- Lorena - Collaborator (Github)
Follow these steps to set up the project locally:
git clone https://github.com/stian96/webapp-exam.git
cd webapp-exam
npm install
All projects must be run individually and separately from each other. For example, to run Task 2:
cd oppgave_2
npm install
npm run dev
To run the tests:
npm test
Assigment 2 of this project has been the most extensive and complex part and it focuses on the development of a fullstack system to monitor and manage training sessions for athletes.
- Create Athlete: An interface to register new athletes with unique identification and relevant details.
- Training Goals and Competitions: The ability to define and manage competitions and training goals for athletes, including details such as date, location, and priorities.
- Extended Athlete Data: Registration of additional data such as maximum heart rate and threshold watts for each athlete.
- Create and Manage Sessions: A comprehensive system for creating and customizing training sessions based on predefined templates or from scratch.
- Questions and Feedback: The ability to ask questions and collect feedback related to each training session.
- Reporting: A function to report on completed sessions, including performance analysis and feedback.
- Dashboard: A central dashboard to display and manage all information related to athletes and their training sessions.
- Extended Dashboard and Evaluation: Advanced functions in the dashboard for deeper analysis and comparison of training data.
Click on the image below to see a quick demo video of assignment 2: