Skip to content

t-yanick/tracking-app-with-react

Repository files navigation

Tracking App built with React

Screenshots Screenshots Screenshots

About the Project

This responsive web application was built with React and Redux as the final project at Microverse. I also built REST API with Ruby on Rails as the back-end for this application.

In this app, you can manage database resources in API including add, edit, and remove records that you want to track. For example, you can track your daily progress in learning English.

I implemented these things:

  • Connected to the back-end API to send and receive data
  • With routes for each of the screens, so the user can easily go back and forward
  • Use Redux to store info used across the app, like the username
  • The project was deployed to Heroku and accessible online
  • Implemented user authentication from the front-end to the server
  • Created an admin panel to create / update / delete Items (things to measure)
  • Made the app responsive, creating both tablet and desktop versions, following design guidelines
  • Implemented the progress page with data charts that show the average achievements rate and total scores

A list of commonly used resources that I find helpful is listed in the acknowledgments.

Built With

Live Demo

Live Demo Link

Getting Started

To get a local copy up and running follow these simple example steps.

  1. On the project GitHub page, navigate to the main page of the repository.
  2. Under the repository name, locate and click on a green button named Code.
  3. Copy the project URL as displayed.
  4. If you're running the Windows Operating System, open your command prompt. On Linux, Open your terminal.
  5. Change the current working directory to the location where you want the cloned directory to be made. Leave as it is if the current location is where you want the project to be.
  6. Type git clone, and then paste the URL you copied in Step 3.
    e.g. $ git clone https://github.com/yourUsername/yourProjectName
  7. Press Enter. Your local copy will be created.
  8. Go to helpers/baseUrl.js and rewrite the baseUrl like http://localhost:3001/ so you can run this project in your local environment
  9. To run the server, run npm start
  10. To run the tests, run npm test
  11. N.B: Due to compatibility issues and of which I will update my node-sass soon, to run this project as of now, you need to be using node v16 or a lower version

How to use this app as a user

  1. To start using this app as a user, you need to log in with a username and password. This login is authenticated by API
  2. Then, you can record your track for each item for each day: Idioms, Pronunciation, Reading, etc.
  3. On the all tracks page, you can check the past tracks you've made
  4. On the progress page, you can see your progress so far

How to manage items as an admin user

  1. Like the ordinary user, you need to log in with a username and password as an admin user, which is required to be given the status of admin: true by the administrator for the API
  1. Then, you'll see the admin page. On this page, the items that are added by administrators will show
  2. By clicking the "Add item" button, it shows the form, and you can add an item
  3. By clicking each item, you can edit it

Author

👤 Tazoh Yanick Tazoh

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

  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

Show your support

Give a ⭐️ if you like this project!

License

Design:

"Bodytrack.it " design idea by Gregoire Vella is licensed under Creative Commons license of the design.

Application:

This project is MIT licensed except for the design above

Acknowledgements

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published