Periodo - The Tracker (Period Tracker) ✨
About 📚
Periodo - The Tracker is designed for teenage girls who are about to start their periods, and women who have trouble recalling their period dates. Whether it's to prevent embarrassing situations or to check the period for lifestyle disorders (PCOS, PCOD, etc.) this app is for you.
Periodo will help these girls and women keep a track of their cycles and notify them of upcoming dates, as well as keeping track of the amount of discharge of their periods and assisting them with proper diet during their periods.
We wish to expand the application's functionality with time and assistance from the contributors. This project is really a beginner-friendly to contribute, and it has a user-friendly interface that appeals to a younger audience.
Technical details
The code sample of this application is based basically on React and Nextjs. We have made all the features using the npm Packages and Node Modules. The backend is authenticated by the Nodejs and the Google APIs. The Auth0 API has also been used to make it’s Login and Logout authentication. The Google Map API has been used for directing the user to the nearby location for hospital, restroom, food he/she is searching for. The frontend of this application is pretty good that has been made with React. We have included various features in the application and all those are seen from the Sidebar. For instant information we have provided a chatbot also to the user.
Project's Demo Video :
Tech Stack 🚀
Local Setup Instructions 💻
Follow these steps to setup project locally:
-
Clone forked repository: If you are using Windows OS use
Git Bash
to run all commands given below.git clone https://github.com/<your GitHub user name>/periodo.git
Example
git clone https://github.com/johnDoe/periodo.git
-
Add remote: This will point to the original repository. It will help you to get the latest changes made by others. Add upstream as a remote.
git remote add upstream https://github.com/Feminine-Divine/periodo.git
Two Ways to Install the Project:
Without using Docker
-
Install yarn: This project uses
yarn
as a package manager.- check if yarn is already installed on your machine.
yarn --version
- If not install yarn
npm install --global yarn
- check if yarn is already installed on your machine.
-
Install dependencies: Run the following to install the required dependencies.
-
Change working directory
cd periodo/periodo
-
Install the dependencies.
yarn install
OR
npm install
-
-
Run the project:
-
run in the development mode
yarn dev
OR
npm run dev
-
-
Open in browser: Click here, or pase the following in your browser
http://localhost:3000
The following image shows the terminal output when the server is live.
Using Docker
-
Install Docker, from the given link.
-
Once Docker is installed, use the following commands:
- Build the project
docker-compose build
- Run the container
docker-compose up
- Build the project
-
View the project: Click here, OR pase the following in your browser
http://localhost:3000
Note: If you are using docker-desktop on Windows Or WSL2 i.e Windows Subsystem For Linux, you can use the GUI Options to run the containers
Documentation 📃
Please read CONTRIBUTING.md and Code of Conduct before contrbuting Do follow the commit conventions while making any commits.
Contact Us ☎️
Please reach out to the admins Khushi Gautam and Shipra Verma if you face any doubts or have any questions regarding the project.
Discord
Chat Channel:- For any queries post here Mentors will guide you here onGeneral Guidelines for Contributors 🚧
Some Guidelines need to be followed to maintain the decorum in the community.
- Participants can be assigned to only one issue at a single time (please refrain from asking about new issues until your work in an issue is completed) So that every contributor gets an equal chance to contribute and collaborate in the project.
- Every Participant who is assigned to an issue has to give regular updates after every three days otherwise the issue will be made available again.
- Issues will get assigned on a first come first serve basis. Although if the current assignee is unable to give any update within 3 days. The person who is next in the queue will get assigned.
- Please try to wait at least 3-4 days after submitting a PR. Maintainers are also human beings and have to manage the whole project. (So, don't ping constantly for review)
- Try to discuss your features and problems related to the issue or PR directly here on Github.
Open Source Programs ❣️
This Project is a part of the following program