Welcome to the PhilTree project! PhilTree is designed to be a user-friendly, efficient way to manage and access all your important online resources. This project will be successful when it is a valuable go-to tool for users overwhelmed with bookmarks and disparate links. We'll be building this up iteratively, focusing on core functionality first and expanding as we go.
To create a centralized, intuitive platform for users to store, organize, and access their essential web links. PhilTree will streamline the user experience of managing online resources, eliminating the need to sift through endless bookmarks or rely on memory.
- As a student, I want to store and organize links to research articles, online courses, and academic resources in one place so that I can access them quickly for my studies.
- As a professional, I want to save links to industry articles, social media profiles, and work-related tools so that I can stay informed and productive.
- As a casual internet user, I want to collect links to my favorite websites, blogs, and online shops so that I can easily revisit them without having to search for them again.
- Core Link Management:
- Users can add new links with titles and descriptions.
- Users can edit existing link information.
- Users can delete links they no longer need.
- Basic Organization:
- Users can view all their saved links in a clear, chronological list, if no categories exist.
- Users can create new categories for better organization of links.
- Users can add links into any category, and change them later.
- User Interface:
- A clean and intuitive interface for a positive user experience.
- Responsive design for optimal viewing on desktop and mobile devices.
- Environment Setup:
- Ensure you have Go installed and properly configured on your system. Refer to the official Go installation guide for detailed instructions.
- Repository:
- Clone this repository to your local machine:
git clone https://github.com/philgear/philtree/tree/main
- Clone this repository to your local machine:
- Build:
- Navigate to the project directory in your terminal.
- Run
go build
to compile the application.
- Run:
- Execute the compiled binary to start the server.
We encourage contributions that align with the project's goals and enhance its functionality. To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
orgit checkout -b bugfix/your-bug-fix-name
- Commit your changes with clear, descriptive commit messages.
- Push your branch to your forked repository.
- Submit a pull request to the main repository, detailing the changes you've made and the problem they solve.
- Reviewers will look at your pull request, but understand that all proposed changes must pass the full test suite.
- All new features and bug fixes must be accompanied by appropriate unit and/or integration tests.
- Before submitting a pull request, ensure all tests are passing.
- To run tests, execute
go test ./...
in the project directory. - You can enable
go test -race ./...
to see if any race conditions are caught in the codebase.
This project is licensed under the BSD 3-Clause License. See the LICENSE
file for more details.
- Advanced Search: Implement a search functionality to quickly find links.
- Browser Extension: Develop a browser extension for seamless link saving.
- Tagging: Allow users to add tags to links for more granular organization.
- Import/Export: Enable users to import and export their link collections.
This revised README is more aligned with what you'd expect in a professionally managed software project. It's clear, concise, and focuses on delivering a valuable product through iterative development. I hope this is helpful! Let me know if you have any other questions.