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:
- 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.
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.
Sign Up Page:
You can sign up for Nah-sana by filling out the sign up form and pressing "Sign Up"
Create Your First Workspace:
New users will be able to create their first workspace so they can track their projects and tasks.
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.
Create a Project:
Signed in users can click the Create Project button that opens a form to create a new project.
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.
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.
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.
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.
Create a Task
When a signed in user clicks on Add Task, a form will appear that lets the user create a task.
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.
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.
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.
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.
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.
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