Welcome to Esena!
Creators:
Ethan Chen
,
Lana Komar
,
Vee Alianza
,
Xiaowen Nie
» Live Link «
Esena is an application inspired by Asana where teamwork makes the dream work by organizing and facilitating collaboration among team members.
| About | Technologies Used | Getting Started | Features |
-
Clone this repository (only this branch)
git clone https://github.com/vee-alianza/Esena.git
-
Install dependencies
pipenv install --dev -r dev-requirements.txt && pipenv install -r requirements.txt
-
Create a .env file based on the example with proper settings for your development environment
-
Setup your PostgreSQL user, password and database and make sure it matches your .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
-
To run the React App in development, checkout the README inside the
react-app
directory.
IMPORTANT! psycopg2-binary MUST remain a dev dependency because you can't install it on alpine-linux. There is a layer in the Dockerfile that will install psycopg2 (not binary) for us.
Command | Purpose |
---|---|
pipenv shell |
Open your terminal in the virtual environment and be able to run flask commands without a prefix |
pipenv run |
Run a command from the context of the virtual environment without actually entering into it. You can use this as a prefix for flask commands |
flask db upgrade |
Check in with the database and run any needed migrations |
flask db downgrade |
Check in with the database and revert any needed migrations |
flask seed all |
Just a helpful syntax to run queries against the db to seed data. See the app/seeds folder for reference and more details |
heroku login -i |
Authenticate your heroku-cli using the command line. Drop the -i to authenticate via the browser |
heroku authorizations:create |
Once authenticated, use this to generate an Oauth token |
heroku run -a <app name> |
Run a command from within the deployed container on Heroku |
Users can log into an existing account, sign up or test the site by clicking on the Demo User feature.
- The navigation bar is displayed on the side of the page and persists on each page.
Once the user is logged in, they can create a project, view all projects and tasks they are assigned to and click other user's profiles.
- Clicking on "Create Project" will display a modal with a form that requires infomation to be entered
- Clicking on a task will display a modal with the task details, that only assigned users can leave a comment on
- Clicking on "My Projects" or an existing project will redirect the user to the project page
- Clicking on "My Tasks" will redirect the use to the task page
- Clicking on a user's name renders the profile of the user
A user can create a project, view the details of the project, edit and delete a project.
- Clicking on the add-button will display modal form that requires infomation to be entered
- Clicking on the Overview tab will display the project information
- Clicking on the dropdown menu on the project will display an Edit and Delete option
These features are available only to the owner of the project
A user can add, edit and delete a task
- Clicking on "Add Task" will display modal form that requires infomation to be entered
- An Edit and Delete button will only be displayed to the user that is assigned the task
- When a task is "Marked Complete", the task will be displayed on the Completed table and the progress bar will indicate the percentage of tasks that has been completed within a project
A user can add, edit and delete teammates assigned to a project
- Clicking on the Edit button on the lower table of a task will display a modal with the teammates assigned to the task
A user can edit their profile by clicking "My Profile" on the navigation bar, which will redirect them to their profile page
- Clicking on the edit button will display modal with the user's pre-filled information
A user can view all of the tasks on a calendar.
- Clicking "My Calendar" with display a calander and users can view tasks by Month, Day, Year
Whether the user is on the homepage or on "My Tasks" page, they are able to post, edit and delete a comment on a task
- Edit and Delete button will only display to the user that has posted that comment
Accessing a path that does not exist will render a page not found and redirects the user to the homepage automatically after 3 seconds