Submito is a web application designed to manage form submissions efficiently. It provides users with the ability to generate unique endpoints for form submissions, view recent submissions, and test demo forms. The project utilizes Vue.js for the frontend, Pinia for state management, and TypeScript for type safety.
submito-app/
βββ src/
β βββ stores/
β β βββ auth.ts
β β βββ submissions.ts
β βββ views/
β β βββ Dashboard.vue
β β βββ Login.vue
β βββ components/
β β βββ SubmissionTable.vue
β βββ App.vue
β βββ main.ts
βββ public/
βββ package.json
- Endpoint Generation: Users can generate unique endpoints for form submissions.
- Submission Management: View recent form submissions in a table format.
- Demo Form Testing: Test form submissions using a demo form interface.
- Authentication: User authentication system for secure access.
- TypeScript Support: Enhanced type checking for improved code quality.
- Responsive Design: Mobile-friendly UI using Tailwind CSS.
-
Clone the repository:
git clone https://github.com/kostastepetes/submito.git cd submito-app
-
Install dependencies:
npm install
-
Start the development server:
npm run serve
-
Build for production:
npm run build
- Node.js version: 16.x or later
- npm version: 8.x or later
- Vue CLI version: 5.x or later
- Frontend: Vue.js 3, TypeScript
- State Management: Pinia
- Styling: Tailwind CSS
- HTTP Client: Axios
- Authentication: JWT-based authentication
The project interacts with a backend API located at http://localhost:3000/api
. The following endpoints are used:
-
/endpoints
: Generate new endpoint- Method: POST
- Headers: Authorization Bearer token required
-
/submissions
: Fetch recent submissions- Method: GET
- Headers: Authorization Bearer token required
-
/submit/{endpoint}
: Submit form data- Method: POST
- Body: FormData
Contributions are welcome! Please submit pull requests with clear descriptions of changes made.
This project is licensed under the MIT License - see the LICENSE file for details.
- Vue.js team for creating an excellent frontend framework
- Pinia team for providing a lightweight state management solution
- Tailwind CSS team for their utility-first CSS framework
- [List any known issues here]
- Implement real-time submission updates
- Add filtering and sorting capabilities to the submissions table
- Enhance security features, including CSRF protection
- Implement dark mode toggle
By following this README, you should be able to set up and run the Submito project locally. Remember to configure your backend API accordingly to match the frontend expectations.