ScanIn - FOSS Document Scanner
Privacy first and fully local 🔒 FOSS document scanning app that can do a lot more than just scanning ⚡
Repository Video ▶️ScanIn is a Free and Open-source document scanner for Android and iOS. We've built ScanIn with privacy and security as the #1 priority. We've also introduced a set of novel features which are not available in the other document scanning apps.
What Made Us Develop ScanIn 🤔
As a result of COVID-19 pandemic - education, work and governance have migrated to Online. As students, we were asked to submit our homeworks, tests and notes as digital soft-copies. After the government imposed ban over CamScanner, we wanted a better open-source alternative which does not affect our privacy. So, we decided to develop ScanIn which is completely free and open source. We also analyzed the needs of students and working professionals and introduced some cool new features that are not even available with the paid alternatives.
Vision & Mission 💪
As FOSS lovers, our vision is to contribute to online education, remote work and governance by developing a restriction-less, fully featured and free document scanning application that can enable everyone to continue doing their jobs even during and post the pandemic. Our long term mission as a student-made startup is to make more such FOSS apps.
Idea Validation - Survey ✅
We always wanted ScanIn to be a 'Community based' application that was built based on the needs and feedbacks provided by a number of people. So, we decided to conduct a survey. We surveyed over 30 students along with a few working professionals. We asked them to prioritize their needs and to describe their problems while using the other alternative apps. We also got some valuable suggestions for new features. Based on the inferences, we decided the new features after analyzing the technical feasibility.
Novelties - What Makes Us Unique 💡
We've included some cool new features that make us stand out from the other alternatives. They're as follows :
Protected PDF Generation : Produce password protected PDFs directly from ScanIn app.
Credential Verification and QR : A QR code generated on the top corner of the document that can be scanned to validate the document.
Custom Watermark : Place your own watermarks in the document.
Add Page numbers : Automatically add page numbers to the pages in your document.
Annotations : Annotate or highlight your document even after scanning.
Warnings for potentially critical documents : ScanIn pops up a warning when you try to scan a critical document along with some safety measures.
Protected safe folder : Place your important files into the safe folder to keep them private.
Fully Open Source and Free : Proudly, ScanIn is fully open source and free.
No APIs Used - Fully Offline : We've used zero APIs - as simple as that. The app can work offline.
No Remote Databases or Backend services : We have not included any remote database to log any kind of details. We store everything only on an SQLite database locally.
Features Of ScanIn 🌟
Edge detection : Automatically finds the edges of the document from a photo.
Light weight : The total app size is just around 20MB.
Fast and seamless : The scanning process is fast without lags.
Document lighting filters : Low light? Just use a filter to make sure your document is visible.
No Ads : We wanted to provide our users with the best experience. So, no space for annoying ads.
User friendly UI with help screen : A simple and intuitive UI to make the scanning process seamless. We also guide the user with 'How to use' instructions during the first app run.
Technology Stack
- Flutter framework
- Dart
- VS Code IDE
- Figma (Designing wireframes)
- Git and GitHub (Version control and Project collab)
Contribute
Please feel free to open issues and contribute to our project on GitHub. Join our Glitter channel if you wish to convey your ideas.
License
The project is 'open source' and licensed under MIT License. All functionalities were implemented from the scratch and the FOSS plugins we've used are also credited.
Contributors 🧑💻
- Dhanush Kalaiselvan
- Kumaraguru
- Mridula Kalaiselvan
- Emma Thomas
Join Us On Glitter
If you're interested to contribute to ScanIn (post the hackathon), feel free to join our Glitter channel.
Completed the app with all functionalities. There are a few more UI changes and polishing works to be done.
We are starting with README and documentation as we enter into the last 4 hours of the hackathon.
Added more basic functionalities for exporting the document as PDF/JPG and also to add more images to the document
All functionalities are working correctly and are pushed in Commit #6
Added edge detection using OpenCV (FOSS). The functionality is better than expected
The user can also change the edges in case that the edges are not matched correctly
Commit #6 : Added file operations and functionalities. Fixed errors and conflicts. The current code in the main branch is now working without errors.
This is a crucial commit with all file operations and functionalities. The code pushed into the repo is in working condition.
Added Edge detection and cropping options. Now taking a quick nap for 2 hours.
We successfully added edge-detection and cropping options. Manual cropping is also made available. It's 02:30 a.m and All of us are tired and we will be taking a quick nap for the next 2 hours. Good night y'all!
Commit #5 : Added the functionality for 'Password protected folder' and it does work as expected
The password protected folder inside the app is completed. Pin, face recognition and fingerprint authentications are made possible. Works as expected. Will be pushing the code in a few minutes.
Completed the basic implementation of homescreen UI (Polishing work to be done tomorrow)
We just completed implementing the UI to code on Flutter. We are still yet to polish the UI as per the suggestions received from the mentors - We will work on it overnight
Commit #3 : Added home screen and other screens with basic functionalities and routing.
Added homescreen (yet to be polished) and other screens with some basic functionalities and routing. We are expecting to have the fundamental parts of the app done overnight.
Design update : We completed designing wireframes and UI of various screens of the app
We will be implementing the UI on Flutter. Suggestions regarding the UI are welcome
Commit #2 : Added boiler plate Flutter project
Created a new boiler plate Flutter project for ScanIn and pushed the changes to the master branch of the repo.
Initialized GitHub Repository for the project collaboration
Created a new GitHub repository and added collaborators. Initialized the repo with a README.md and LICENSE.md
Project created by Kumaraguru