jrchew15 / nah-sana

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nah-sana

Summary

Nah-sana is an online project management tool inspired by Asana that allows teams to effectively manage projects and tasks in one central location.

Project Wiki

This project is built with:

  • React
  • SQLAlchemy
  • Flask
  • Redux
  • Docker
  • Alembic

Directions for Features

Splash Page:

Here you can view the splash page for Nah-sana, visit the developers Github and LinkedIn profiles, as well as log in or sign up for Nah-sana. image

Log In Page:

If you have an account, you can enter your credentials and press Login. You can also login as a Demo user by clicking the "Sign in as Demo user" button. image

Sign Up Page:

You can sign up for Nah-sana by filling out the sign up form and pressing "Sign Up" image

Create Your First Workspace:

New users will be able to create their first workspace so they can track their projects and tasks. image

Workspace Home Page:

Once the user is logged in and in their workspace, they will see a dashboard that showcases their current tasks, projects, and team members in the workspace. image

Create a Project:

Signed in users can click the Create Project button that opens a form to create a new project. image

Project Overview:

Signed in users can click on a project and be directed to the project overview page. This page displays a description and options to edit or delete the project. image

Edit Project:

When signed in users click "Edit Project" a form will appear with the data pre-populated into the fields for the user to edit. image

Project Task List:

When a signed in user clicks on the List tab in the Project Detail page, they will see a list of tasks assigned to the project and their due dates. image

Task Detail:

When a signed in user clicks on the task, a form will appear showing further detail about the task and gives the user the ability to edit the task, mark it complete, or delete it. image

Create a Task

When a signed in user clicks on Add Task, a form will appear that lets the user create a task. image

User Profile

When a signed in user clicks on the icon or card for a user in the workspace, they are directed to a Profile Overview page that shows important information about the user. image

User Tasks

When a signed in user clicks on the list tab within a User Profile page, they will see all the tasks currently assigned to the user. image

Edit Your Profile

When a signed in user clicks on the icon at the top right and then on "My Settings" a form will appear that has their pre-populated profile information. From there, they can edit their profile information. image

Edit Workspace

When a signed in user clicks on the icon at the top right and then on "Update Workspace", a form will appear that allows them to update the name of the workspace. image

Add user to a Workspace

When a signed in user clicks on the Invite Teammates button on the left navigation bar, a form will appear that allows them to enter in the email address for a nah-sana member so they can be added to the workspace. image

Local Installation

To run this application locally, you will need Python and NPM. This root folder contains a backend (app) and frontend (react-app) directory.

Step 1: Download

Clone the project repository in your terminal

git clone https://github.com/jrchew15/nah-sana.git

Step 2: Backend Setup

  • Inside of the root directory, run the following command in the terminal to set up the necessary Python dependencies for running the backend server and database.
    pipenv install -r requirements.txt
  • Create a .env file based on the example with proper settings for your development environment
  • Make sure the SQLite3 database connection URL is in the .env file
  • Get into your pipenv, migrate your database, seed your database, and run your Flask app
    pipenv shell
    flask db upgrade
    flask seed all
    flask run

Step 3: Frontend Setup

Navigate to the /react-app directory, run the following command to set up the necessary Node.js dependencies and then start the server.

npm install
npm start

About


Languages

Language:Python 53.6%Language:CSS 43.4%Language:HTML 1.2%Language:Dockerfile 1.0%Language:Mako 0.5%Language:Shell 0.3%