Skip to content

se701g2/Doto

Repository files navigation

Doto

All Contributors

Welcome to Doto. The open-source software (OSS) project for a smart scheduling calendar app. Doto is an online calendar and to-do app. It has all of the basic functionality of any calendar app and can be used to make to-do lists. It also has smart scheduling capabilities, meaning that if the user wants to do a task, it can input it into our app and the app will allocate this task in a suitable time in the user’s calendar. Doto uses Google to sign up, meaning that to use this app, the user must have a google account. The development of Doto is done using the M.E.R.N (MongoDB, Express, React, Node) tech stack (more info about the tech stack can be found in the Wiki).

Why is this project Useful?

This project is useful as it has the basic functionalities of any normal calendar app, but also has the added functionality of smart scheduling. This is particularly useful for people who like to plan their day but find it difficult to plan it well, as the app finds the most suitable time for whatever task the user wants to accomplish. It also encourages people who don’t usually like to plan their day to start planning their day as all they need to do is input the task and the app will choose the perfect time, no effort required.

Development Setup

It is recommended that you use VsCode when contributing to this project. Please install the Eslint and Prettier extensions so that the code style matches what has already been done before.

Setting up the environment variables

There are a number of application secrets and credentials which are needed before you begin development. These secrets will be given to you by the Repo maintainer when you start contributing. To set up these envrionment variables you will need to make a .env file sitting in the doto-backend folder. An example of this file can be found in the repository .env.example contains all the variables that will need to be set (just make a copy of the file and rename to .env then copy and paste all the secrets given by the repo maintainer)

The VAPID keys can be generated by running:

npx web-push generate-vapid-keys

Copy the public and private keys to the backend .env then copy the public key to the frontend .env.

Running the code

We are using lerna and yarn for this project.

Installing dependencies

Run yarn install --frozen-lockfile in the project root.

Starting the frontend and backend

To get the project running locally, run yarn start in the project root.

By default, the react-app is hosted on port 3000 and the local server is hosted on port 3001. Do not change these numbers as we have added the addresses as authorized redirect uri's in our google credentials.

Please check the front end readme for more information on running the front end of the code.

Link to the website

doto.azurewebsites.net

Link to the API

doto-backend.azurewebsites.net

Contributing to this Project

Please refer to our wiki for an outline of our coding conventions and git workflow

Meta

Se701 Group2 - [email protected] Distributed under the MIT license. Check the wiki for more details

Where to Get More Help

If you have run into any issues, you can contact our lecturer Kelly Blincoe and she will be able to point you in the right direction.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

If you're a developer in the project and would like to add yourself here, please follow the instructions here.


Kimberley

💻 👀 🎨 🤔

Alex Monk

💻 ⚠️ 📖

Matt Eden

💻 👀 🎨 📖 ⚠️ 🐛

Jordan Sim-Smith

💻 👀 🎨 📖

Xiaoji Sun

💻 🎨

Preet Patel

💻 👀 🎨 📖 📹 🐛

Eric Pedrido

💻 👀 🎨 ⚠️

Harman Lamba

💻 👀 🎨 ⚠️

salma-s

💻 👀 🎨 ⚠️

Tony Liu

💻 👀 🎨 📖 ⚠️

Harrison Leach

💻 👀 🎨 ⚠️

Chinmay Deshmukh

💻 👀 📖

TCHE614

💻 👀 📖

brianzhang310

💻 👀 📖

nikotj1

🐛 🎨

Finn

🐛 💻

utri092

💻 🎨

rmoradc

💻 👀 🎨

This project follows the all-contributors specification. Contributions of any kind welcome!