Nah-sana is an online project management tool inspired by Asana that allows teams to effectively manage projects and tasks in one central location.
- SQLAlchemy
- Flask
- Redux
- Docker
- Alembic
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.
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.
You can sign up for Nah-sana by filling out the sign up form and pressing "Sign Up"
New users will be able to create their first workspace so they can track their projects and tasks.
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.
Signed in users can click the Create Project button that opens a form to create a new project.
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.
When signed in users click "Edit Project" a form will appear with the data pre-populated into the fields for the user to edit.
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.
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.
When a signed in user clicks on Add Task, a form will appear that lets the user create a task.
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.
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.
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.
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.
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.
To run this application locally, you will need Python and NPM. This root folder contains a backend (app) and frontend (react-app) directory.
Clone the project repository in your terminal
git clone https://github.com/jrchew15/nah-sana.git
- 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
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