The all-in-one productivity platform for modern teams and individuals!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
ProNotion was built to make productivity seamless, collaborative, and accessible for everyone. Unlike other platforms that can feel overwhelming or rigid, ProNotion is designed to be intuitive, flexible, and powerful—so you can focus on what matters most: getting things done.
Here's why you'll love using ProNotion:
- 🚀 All-in-one Workspace: Manage notes, tasks, files, and more in a single, unified platform.
- 🧩 Easy to Use: Clean UI and simple onboarding mean you can get started in minutes, not hours.
- 🔒 Secure & Scalable: Built with modern technologies like React, Spring Boot, AWS, and Google Cloud for reliability and security.
- 🌎 Accessible Anywhere: Cloud-based and responsive, so your workflow goes wherever you do.
- ⚡ Customizable: Adapt ProNotion to your needs—whether you’re a solo user or a growing team.
- 🤝 Open Source: Contribute, customize, and make it your own. We welcome your ideas and improvements!
ProNotion is more than just a productivity tool—it's your digital command center.
Jump in, explore, and see how much more you can accomplish!
If you have suggestions or want to contribute, just fork the repo or open an issue.
Thanks to everyone who’s helping make ProNotion better every day!
This project leverages a modern full-stack technology suite:
This project leverages a modern full-stack technology suite:
Follow these instructions to set up the project locally.
- Node.js & npm (for the frontend)
- Maven (for the backend)
- Java 17+ (for the backend)
- Git
- AWS account with S3 access
- Google Cloud account for OAuth credentials
-
Clone the repository
git clone https://github.com/kam-stand/ProNotion.git cd ProNotion -
Set up Google OAuth credentials
- Go to Google Cloud Console
- Create OAuth 2.0 credentials and download the
credentials.jsonfile. - Place the
credentials.jsonfile in the appropriate backend directory (seeapplication.propertiesfor the expected path).
-
Set up Amazon S3 bucket
- Create an S3 bucket in your AWS account.
- Note the bucket name, region, and your AWS access/secret keys.
- Update the S3-related properties in
server/my-springboot-project/src/main/resources/application.propertieswith your bucket and credentials.
-
Configure application properties
- Open
server/my-springboot-project/src/main/resources/application.properties. - Set your database connection, OAuth, and AWS S3 credentials as required.
- Open
spring.datasource.url=jdbc:mysql://db:3306/YOUR_DATABASE_NAME
spring.datasource.username=YOUR_DATABASE_USERNAME
spring.datasource.password=YOUR_DATABASE_PASSWORD
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.security.oauth2.client.registration.google.client-id=YOUR_GOOGLE_CLIENT_ID
spring.security.oauth2.client.registration.google.client-secret=YOUR_GOOGLE_CLIENT_SECRET
spring.security.oauth2.client.registration.google.scope=email,profile
aws.s3.bucket.name=YOUR_S3_BUCKET_NAME
aws.access.key=YOUR_AWS_ACCESS_KEY
aws.secret.key=YOUR_AWS_SECRET_KEY
aws.s3.region=YOUR_AWS_REGION
server.port=8080
-
Install frontend dependencies
cd client/pronotion npm install -
Install backend dependencies and build
cd ../../server/my-springboot-project mvn clean install -
Run the backend
mvn spring-boot:run
-
Run the frontend
cd ../../client/pronotion npm start
ProNotion comes with Docker configuration for easy deployment and consistent environments across different systems.
- Prepare your configuration
- Create or update the file at
server/my-springboot-project/src/main/resources/application.propertieswith your environment-specific values:
Tip: Never commit sensitive credentials to version control. Use environment variables or Docker secrets for production.
- Start the application stack
- From the project root, run:
docker-compose up --buildThis will build and start all required services (backend, frontend, database, etc.) as defined in your docker-compose.yml.
- Access the application
- Once all containers are running, open http://localhost:8080 (or the port you configured) in your browser.
Troubleshooting:
If you encounter issues, check the logs with docker-compose logs and verify your configuration values.
Note:
- Make sure your Java version matches the one specified in the backend's
pom.xml. - Check
application.propertiesfor any other required configuration (e.g., database URL, email settings).
See ProNotion in action! Below are some examples of how you can use the platform to boost your productivity.
- Organize notes, tasks, and files in one place
- Collaborate in real-time with your team
- Upload and manage files with AWS S3 and Google Cloud integration
- Search instantly with Elastic Search (coming soon!)
- Customize your workspace to fit your workflow
For more examples and advanced usage, please refer to the Documentation
- Add Changelog 📝
- Email Integration 📧
- File Uploads to S3 & GCP ☁️📤
- [] Elastic Search Integration 🔍
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make to ProNotion are greatly appreciated!
If you have a suggestion that would make ProNotion 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 ⭐ if you like it—thanks for helping make ProNotion awesome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the Unlicense License. See LICENSE.txt for more information.
Project Link: https://github.com/kam-stand/ProNotion
Use this space to list resources you find helpful and would like to give credit to. Here are some that were especially helpful for ProNotion:
- Choose an Open Source License
- GitHub Emoji Cheat Sheet
- Malven's Flexbox Cheatsheet
- Malven's Grid Cheatsheet
- Img Shields
- GitHub Pages
- Font Awesome
- React Icons
- Spring Boot Documentation
- Maven Documentation
- MySQL Documentation
- AWS Console Documentation
- Google Cloud Documentation
- Javax Mail (Jakarta Mail) API Docs
