zuri-training / Proj_excel_Team-102

3 stars 0 forks source link

Desktop-8

Comparely

Comparely is a web application that compare the contents of excel files

Application Structure

Branches

  1. frontend: Frontend developers would push their code in HTML, CSS and JavaScript to this branch
  2. main: Backend code and code ready for deployment is contained in this branch
  3. frontend_react: Frontend code from frontend branch get's converted to ReactJS and is connected to the FastAPI backend for it's functionality and then pushed to this branch

main branch

  1. alembic/: This folder contains database migrations in it's versions folder. We're using alembic database
  2. app/: This contain the backend logic for the whole application
  3. static/: This contains the folder where excel files would be uploaded to also the ReactJS project would

Deployment Instructions

  1. Create a folder: mkdir folder_name
  2. Change directory to the folder: cd folder_name
  3. Clone main branch to folder: git clone --branch main https://github.com/zuri-training/Proj_excel_Team-102.git .
  4. Create virtual environment: python3 -m venv venv
  5. Activate virtual environment: source venv/bin/activate
  6. Install packages: pip install -r requirements.txt
  7. Create database, database_user and password for the project: PostgreSQL database
  8. Create a new file .env and copy the contents of .env_template into it and replace:
  1. Run database migrations: alembic upgrade head
  2. You can test project with uvicorn app.index:app that would spin up a local server that you can test with curl localhost:8000 if you get an html format response the project is up and running. Hit ctrl c to stop test server.
  3. Follow this link on how to deploy a FastAPI project on ubuntu and using nginx and Ignore the steps already done above. Hot to deploy a FastAPI project

Dash

About The Project

User: Unauthenticated

  1. Visit the platform to view basic information about it
  2. View and Interact with the documentation
  3. Register to view more details
  4. No access to use until registered

User: Authenticated

  1. Full access to the platform
  2. Allow upload csv/excel file
  3. Users should get the option to:
    1. Highlight duplicates in a single file
    2. Remove duplicates and return a single file
    3. Remove duplicates and return 2 files
    4. Highlight duplicates and return 2 files
  4. Show usage example to users
  5. Allow user save data and come back to download

(back to top)

Core features

  1. Highlight duplicates in a single file
  2. Remove duplicates and return a single file
  3. Remove duplicates and return 2 files
  4. Highlight duplicates and return 2 file

Additional features

  1. Search and Highlight
  2. Search and Replace
  3. Diff Checker

Built With

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Live Demo

Live Demo Video

Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

Comparely Links

Show your support

Give a ⭐️ if you like this project!

📝 License

This project is MIT licensed.