Skip to content

Commit

Permalink
Merge pull request #183 from stanleyowen/v0.5.4
Browse files Browse the repository at this point in the history
Introducing Otlio: Version 0.5.4
  • Loading branch information
stanleyowen authored May 27, 2021
2 parents f2e8646 + e3563ac commit fa8a11a
Show file tree
Hide file tree
Showing 43 changed files with 2,240 additions and 2,444 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ server/.env.development.local
server/.env.test.local
server/.env.production.local

docs/

npm-debug.log*
yarn-debug.log*
yarn-error.log*
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing

When contributing to this repository, please first discuss the change you wish to make via [issue](https://github.com/stanleyowen/todo-application/issues), [email](mailto:stanleyowen06@gmail.com), or any other method with the owners of this repository before making a change.
When contributing to this repository, please first discuss the change you wish to make via [issue](https://github.com/stanleyowen/otlio/issues), [email](mailto:stanleyowen06@gmail.com), or any other method with the owners of this repository before making a change.

Please note we have a [code of conduct](CODE_OF_CONDUCT.md), please follow it in all your interactions with the project.

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2021 Todo Application
Copyright (c) 2021 Otlio

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
102 changes: 45 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,57 @@
# Todo Application
> ## Organizing Easier, Improve Your Productivity
[![Github Issues](https://img.shields.io/github/issues/stanleyowen/todo-application?style=flat-square)](https://github.com/stanleyowen/todo-application/issues)
[![Github Forks](https://img.shields.io/github/forks/stanleyowen/todo-application?style=flat-square)](https://github.com/stanleyowen/todo-application/network/members)
[![Github Stars](https://img.shields.io/github/stars/stanleyowen/todo-application?style=flat-square)](https://github.com/stanleyowen/todo-application/stargazers)
[![MIT License](https://img.shields.io/github/license/stanleyowen/todo-application?style=flat-square)](https://github.com/stanleyowen/todo-application/blob/master/LICENSE)
# Otlio

[![Netlify Status](https://api.netlify.com/api/v1/badges/56772f5c-0c69-41e8-a788-69ca591e70ef/deploy-status)](https://app.netlify.com/sites/todoapp-task/deploys)
<div align="center">
<img height=200 src="https://user-images.githubusercontent.com/69080584/119517399-c6f10280-bda1-11eb-9af9-4bdc197dcd65.png" alt="Otlio" />

## Login Freely with OAuth
![Login with OAuth](https://user-images.githubusercontent.com/69080584/117276341-00aca880-ae89-11eb-90b8-730f543a726e.png)
[![Github Issues](https://img.shields.io/github/issues/stanleyowen/otlio)](https://github.com/stanleyowen/otlio/issues)
[![Github Forks](https://img.shields.io/github/forks/stanleyowen/otlio)](https://github.com/stanleyowen/otlio/network/members)
[![Github Stars](https://img.shields.io/github/stars/stanleyowen/otlio)](https://github.com/stanleyowen/otlio/stargazers)
[![MIT License](https://img.shields.io/github/license/stanleyowen/otlio)](https://github.com/stanleyowen/otlio/blob/master/LICENSE)

## Built In Multi Factor Authentication (MFA)
![Multi Factor Authentication](https://user-images.githubusercontent.com/69080584/117276484-25a11b80-ae89-11eb-8034-d5a5d4ef4c93.png)
[![CodeQL](https://github.com/stanleyowen/otlio/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/stanleyowen/otlio/actions/workflows/codeql-analysis.yml)
[![Semgrep](https://github.com/stanleyowen/otlio/actions/workflows/semgrep.yml/badge.svg)](https://github.com/stanleyowen/otlio/actions/workflows/semgrep.yml)
[![Netlify Status](https://api.netlify.com/api/v1/badges/593f0dc0-7cdb-40b2-8223-f4dd2acd0841/deploy-status)](https://app.netlify.com/sites/otlio/deploys)
</div>

## User Interface
![Todo Application](https://user-images.githubusercontent.com/69080584/113655834-c488fb00-96c4-11eb-9479-be2e0e4acc62.png)
Otlio is an **open source** project, completed with **highest standard security**, which is easy to use and organize!

Todo Application is an **open source** project, completed with **highest standard security**, which is easy to use and easy to organize!

## Table of Contents
- [Getting Started](#getting-started)
- [Built With](#built-with)
- [Contributing Guidelines](#contributing-guidelines)
- [Code of Conducts](CODE_OF_CONDUCT.md)
- [Project Roadmaps](https://github.com/stanleyowen/todo-application/projects)
- [Stargazers and Contributors](#stargazers-and-contributors)
- [License](#license)
## Feature
1. Support for Google and GitHub **OAuth** Login
2. Support for **2FA (Two Factor Authentication)**
3. Heavy focus on **security**
4. **Customer Support** for authenticated users

## Getting Started
1. Download this code<br/>
There are some several quick start options available:
- [Fork this repository](https://github.com/stanleyowen/todo-application/fork)
- Clone this repository, type `https://github.com/stanleyowen/todo-application.git` in command line
- [Download the latest release](https://github.com/stanleyowen/todo-application/archive/v0.5.3.zip)
- [Fork this repository](https://github.com/stanleyowen/otlio/fork)
- Clone this repository, type `https://github.com/stanleyowen/otlio.git` in command line
- [Download the latest release](https://github.com/stanleyowen/otlio/archive/v0.5.4.zip)
2. Install All the Dependencies
- Open your terminal
- Change directory `cd` to both `client` and `server` folder
- Type `npm install` in commmand line
3. Create `.env` file
- Inside `client` directory, create a new file named `.env` which stores about sensitive information, which is `REACT_APP_SERVER_URL` and `REACT_APP_VERSION`
- `REACT_APP_SERVER_URL` stores the server side URL
- `REACT_APP_VERSION` stores the Todo Application's current version<br /><br />
- Type `npm install` in command line
3. Create `.env` file<br />
`.env` is used to store keys, secrets, and other sensitive informations which is not pushed to GitHub.
- `.env` file for `client` directory:
- `REACT_APP_SERVER_URL` stores the server side URL<br /><br />
```
REACT_APP_SERVER_URL = http://localhost:5000
REACT_APP_VERSION = $npm_package_version
```
- Inside `server` directory, create a new file named `.env` which stores about sensitive information, which is `ATLAS_URI`, `SECRET_KEY`, and `TOKEN_KEY`
- `.env` file for `server` directory:
- `ATLAS_URI` stores the Database URI provided by [MongoDB](https://www.mongodb.com/2)
- `JWT_SECRET` stores first JWT secret (Make it secret, hard to guess, and different from the second JWT Secret)
- `SECRET_KEY_1`, `SECRET_KEY_2`, `SECRET_KEY_3`, `SECRET_KEY_4`, `SECRET_KEY_5` stores secret key for encyption method (Approximately 32 chars) (Make it secret, hard to guess, and different from others secret key)
- `JWT_SECRET` stores JWT Secret for verifying users' session
- `SECRET_KEY_1`, `SECRET_KEY_2`, `SECRET_KEY_3`, `SECRET_KEY_4`, `SECRET_KEY_5` stores secret key for encyption method (32 chars) (Make it secret, hard to guess, and different from others secret key)
- `CLIENT_URL` stores the whitelisted domain for `CORS` Policy
- `NODE_ENV` stores the status of an application, whether it is in `development` or `production` status.
- `GITHUB_ID` stores the client id for GitHub OAuth provided by [GitHub OAuth](https://github.com/settings/applications/new)
- `GITHUB_SECRET` stores the secret key for GitHub OAuth provided by [GitHub OAuth](https://github.com/settings/applications/new)
- `GITHUB_CALLBACK` stores the callback URL for GitHub OAuth provided by [GitHub OAuth](https://github.com/settings/applications/new)
- `GOOGLE_ID` stores the client id fot Google OAuth provided by [Google OAuth](https://console.cloud.google.com/)
- `GOOGLE_SECRET` stores the client secret for Google OAuth provided by [Google OAuth](https://console.cloud.google.com/)
- `GOOGLE_CALLBACK` stores the callback URL for Google OAuth provided by [Google OAuth](https://console.cloud.google.com/)
- `MAIL_SERVICE`, `MAIL_EMAIL`, and `MAIL_PASSWORD` are configured for sending email to users<br /><br />
- `GITHUB_ID` stores the Client ID for GitHub OAuth provided by [GitHub OAuth](https://github.com/settings/applications/new)
- `GITHUB_SECRET` stores the Client Secret for GitHub OAuth provided by [GitHub](https://github.com/settings/applications/new)
- `GITHUB_CALLBACK` stores the Callback URL for GitHub OAuth provided by [GitHub](https://github.com/settings/applications/new)
- `GOOGLE_ID` stores the Client ID fot Google OAuth provided by [Google](https://console.cloud.google.com/)
- `GOOGLE_SECRET` stores the Client Secret for Google OAuth provided by [Google](https://console.cloud.google.com/)
- `GOOGLE_CALLBACK` stores the Callback URL for Google OAuth provided by [Google](https://console.cloud.google.com/)
- `MAIL_SERVICE`, `MAIL_EMAIL`, `MAIL_PASSWORD`, and `MAIL_SUPPORT` are configured for sending email to users<br /><br />
```
ATLAS_URI = mongodb+srv://<username>:<password>@<port>/<dbname>?retryWrites=true&w=majority
JWT_SECRET = YHUIEHN$HOIDFU2^8374C897C4%T843973)X4843C57N8934D29#87N839*4NC07489BC3
Expand All @@ -77,26 +70,21 @@ Todo Application is an **open source** project, completed with **highest standar
GOOGLE_SECRET = /* Your Google Client Secret */
GOOGLE_CALLBACK = http://localhost:3000/auth/google
MAIL_SERVICE = /* Your Email Service Provider */
MAIL_EMAIL = /* Your Email Address */
MAIL_PASSWORD = /* Your Email Password */
MAIL_SUPPORT = /* Email for Customer Support */
MAIL_SERVICE = /* Email Service Provider */
MAIL_EMAIL = /* Email Address */
MAIL_PASSWORD = /* Email Password */
```
4. Run and Compile it
- In the `client` directory, type `npm start` in command line
- In the `server` diireactory, type `nodemon` in command line
## Built With
1. MongoDB Atlas Database
2. Express JS
3. React JS
4. Node JS
## Contributing Guidelines
Before that, we would like to say thank you for your willing to contribute to Todo Application! Please take a minute to read [contributing guide](CONTRIBUTING.md#contributing)<br/>
Have an idea, found a bug or an issues? Please [visit here](https://github.com/stanleyowen/todo-application/issues/new/choose)
Before that, we would like to say thank you for your willing to contribute to Otlio! Please take a minute to read [contributing guide](CONTRIBUTING.md#contributing). Have an idea, found a bug or an issues? Please [visit here](https://github.com/stanleyowen/otlio/issues/new/choose).
## Stargazers and Contributors
[![Stargazers for @stanleyowen/todo-application](https://reporoster.com/stars/stanleyowen/todo-application)](https://github.com/stanleyowen/todo-application/stargazers)
[![Forkers for @stanleyowen/todo-application](https://reporoster.com/forks/stanleyowen/todo-application)](https://github.com/stanleyowen/todo-application/network/members)
## License
[MIT](/LICENSE)
## License [![MIT](https://img.shields.io/github/license/stanleyowen/todo-application?style=flat-square)](LICENSE)
## Stargazers and Contributors
[![Stargazers for @stanleyowen/otlio](https://reporoster.com/stars/stanleyowen/otlio)](https://github.com/stanleyowen/otlio/stargazers)
[![Forkers for @stanleyowen/otlio](https://reporoster.com/forks/stanleyowen/otlio)](https://github.com/stanleyowen/otlio/network/members)
Loading

0 comments on commit fa8a11a

Please sign in to comment.