Inspiration
As someone who is very much into fitness, from wrestling to weightlifting, I always found that someone people simply lose interest because there is no clear goal. So i thought why not make a short-term reason for people to exercise in a way that can reward them with a calm, warm feeling. That's when i thought, "People love to collect things and people do like animals". With this i came up with a little collectible section(more to come) in which people can complete challenges and start to collect random cute cat/dog photos.
What it does
This site acts as a connection between a personal trainer and a client. The client can keep track of all their health metrics while gaining points that they can redeem for things (right now just the random cat/dog pictures). People can also search for food, recommended by licensed personal trainers and nutritionists, and find out where they can get it near by. There is a built in chatRoom between the clients and their trainers in which communication will be fast. There are also smaller features like being able to calculate your calories and see how much it would take to loss, gain, or maintain weight.
How we built it
Front-end = Next.js Back-end = express.js Database = MongoDB With the use of routes and interfaces in order to full population of the entities, i routed all information present at the signup for both the trainer and client into separate clusters that can communicate information to each other(EX: trainers can have multiple clients and visa versa)
Challenges we ran into
Some challenges I came across were:
- routing data between different collections without mutating data that was not suppose to be touched *having the clients save their logs and have it then transfer to the trainer so the trainer can send a note back
- my npm broke for about 1.5 hrs ( i still don't know why)
Accomplishments that we're proud of
I am proud that I did this solo. In addition to this, I am happy I was able to route and use the cat and dog picture apis and actually save them properly.
What we learned
I learned that res.data.points should be res.data.client.points (this took me hours lol). I also learned that there is a structure to post/get/put/etc request in routes and that cntrl+f om VSCode is not case sensitive which is annoying when dateOfBirth is sometimes dateofbirth.
What's next for Equilibrium Academy
I plan to integrate this project with a project that I made 2weeks ago with a couple of friends that acts as a connection between healthcare providers and patients. This would allow me to integrate licensed doctors easier and allow me to create a system for patients designed by patients.
Built With
- cataas
- css
- dog.ceo
- express.js
- git
- github
- google-maps
- html
- javascript
- mongodb
- mongoose
- nextjs
- npm
- radix
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.