anorthall / caves.app Goto Github PK
View Code? Open in Web Editor NEWA Django app to log caving trips, with full social network features.
Home Page: https://caves.app
License: GNU General Public License v3.0
A Django app to log caving trips, with full social network features.
Home Page: https://caves.app
License: GNU General Public License v3.0
Create a test database with:
A new model, Cave
, should be created to contain information about the Cave a trip is in, rather than storing it as strings in the Trip model. These can be auto-matched to reference duplicate trips into a specific Cave.
Model fields:
All distances should be entered/shown in the units specified in a user's profile.
The ability to add photos to trips would be fantastic for the user experience, but would need careful consideration as to how to implement in production. Most likely, S3 buckets would need to be used.
Thought would need to be given as to how many photos to allow per trip, user storage allowances, how to display the photos and whether to compress/resize them.
Users could track the age and use of their equipment, e.g. rope.
CRUD views would be created to allow the addition and removal of equipment objects, with a name, purchase date and description.
Objects could then be 'added' to trips to show how much usage they had received.
Notably:
bs5_form.html
Make trips be displayed in a format better than a table.
Create a usable sidebar menu with:
Verification emails should:
The following static information pages are required:
This method should return the time delta between the trip start time and the trip end time. Return False
if no end time is specified.
All dates and times should be shown in the user's timezone as specified in their profile. Input should be accepted in their local time.
The statistics page and modules needs a complete re-write. It's an absolute train wreck. All functions should be abstracted into sensibly sized utilities. In addition to that, the following tasks should be completed:
Proper logging of user actions should be implemented, using the Django logging framework.
Make the login form fixed width above a certain point, and potentially center it vertically.
Branding should be the same across all pages - headings, navbar, pages.
settings.py
- should django sites framework be used?settings.py
Users should be able to view and interact with their friends.
The form should have
Many views should be changed into Django stock class based views. All views should be checked for suitability.
A search feature should be added on the trip list page, allowing users to search through their trips, including:
Allow users to bulk import trips from a CSV file.
A template CSV file should be provided to the user, which they would then fill out. A Django Form could be used for the data validation.
Once the data has been validated, a table should be shown with the data which will be imported and an option to include/exclude certain rows for import.
The home page should show:
Users should be able to display a public profile to unregistered users.
Change privacy settings on
to be more clearly worded and explicitly state what will happen.
The Trip model should have:
DateTimeField
called deleted_on
, which would be blank by default. If it held a value, it would be excluded from normal trip views and be auto-pruned after a certain time.deleted
which would return True
or False
based on whether deleted_on
held a value.At the moment form submit buttons are full width, which looks a bit janky.
These backups should be sent to a volume on the local machine.
The user profile form needs the following additions:
The Trip list view should offer the user to browse to the next page after a certain number of trips are listed.
Much template code is duplicated. A new set of base templates should be created:
All templates need to be checked for usability on mobile. Particularly:
The admin interface should have:
Unverified accounts - those which have been created but have not had their email verified after 24 hours - need to be automatically pruned.
The easiest way of doing this would be to implement a Django management command which would check for any accounts older than 24 hours which do not have the is_active
flag set on them.
This management command could then by run regularly by cron.
Integration tests should be created for:
Some input fields should be user toggled in a settings page, to streamline the input of Trips. This should only hide the fields, not delete data that has already been entered.
ModelField should be subclassed to provide a Field.user_enabled() method which tests a BooleanField on the User model.
Offer an option for the following fields:
Create an administration panel with:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.