A nifty calendar app that is accessing its own backend server and database.
Clockwork Clementine is an event management system developed as part of a full-stack training program. While combining both backend and frontend technologies, its focus is clearly on the backend.
The main goal was to create a seamless user experience for managing events inside multiple calendars. In addition to basic features such as setting up a server, managing database connections and integrating a frontend interface, the project also includes several advanced features, such as user authentication, cookie management, error handling and data validation.
Three mongoose collections are in use (users, calendars and events). This made it necessary to populate data and manage all collections effectively. The following image illustrates these interdependencies between users, calendars and events.
Take a look at the deployed website here: ClockworkClementine.onrender.com
Important Notice: If login is not working, please make sure to enable third-party cookies! In Google Chrome:
Settings
Privacy and security
Third party cookies
Allow third-party cookies
For demonstrational purposes, registration is also possible with a made-up (fictive) email address. Or simply use the following login dummy and replace the [dot]
with an actual .
[email protected]
ac7[dot]g5xe
To run the app locally on your device, follow these steps:
Clone the Repository and navigate to the project directory:
git clone [email protected]:username/repository.git
cd repository
Install Dependencies and Start the Server and Client Install npm (node package manager) if necessary. Then, run the following pre-configured command that will install the required packages and start the server and the client:
npm run startLocally
Access the application:
In your browser, go to http://localhost:5173/
(or simply follow the link provided in your terminal) to access the application.